Mostrando entradas con la etiqueta JSF. Mostrar todas las entradas
Mostrando entradas con la etiqueta JSF. Mostrar todas las entradas

Coger Bean de la sesión

Para utilizar una clase Bean desde otro Bean solo hay que escribir:

BeanType pp = (VocabularyBean) FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("NOMBRE DEL BEAN");

By Miguel Ruiz on jueves, 20 de enero de 2011 | | A comment?

Obtener datos de una Tabla desde un Bean


< h:dataTable var="item" value="#{MyBean.items}"
binding="#{MyBean.dataTable}" >
< h:column>
< h:outputText styleClass="output" value="#{item.productName}"/>
< /h:column>

< h:column>
< h:commandButton value="remove" action="#{MyBean.remove}" />
< /h:column>
< /h:dataTable>






En el bean solo tenemos que...


public class MyBean {
private ArrayList items = new ArrayList();
private HtmlDataTable dataTable;

public ArrayList getItems() {
return items;
}

public void setItems(List items) {
this.items = new ArrayList(items);
}

public void remove(){
ItemBean item = (ItemBean) getDataTable().getRowData();
items.remove(item);
}

public HtmlDataTable getDataTable() {
return dataTable;
}

public void setDataTable(HtmlDataTable dataTable){
this.dataTable = dataTable;
}

}



By Miguel Ruiz on miércoles, 19 de enero de 2011 | | A comment?

Validar un input en JSF

Este es un ejemplo de como validar que un email es correcto. Aunque sólo se mira si se ha escrito el símbolo @, se pueden utilizar también expresiones regulares.

En la página xhtml o jspx:


< div id="loginForm">
< h:form id="registerInput">
< h:panelGrid width="375px" bgcolor="#e6edfd" columns="2" border="0">
< h:commandLink action="#{usuario.haceClickEnLogin}">Login/Registro< /h:commandLink>
< /h:panelGrid>
< h:message id="errorEmail" for="error" errorStyle="color:red"/ >
< /h:form>
< /div>



En el BackBean (Sabiendo que tenemos un atributo String email; con su get y set):

public void validaEmail(FacesContext context,
UIComponent toValidate,
Object value) {
String emailIntroducido = (String) value;

if (!emailIntroducido.contains("@")) {
FacesMessage message = new FacesMessage();

message.setSeverity(FacesMessage.SEVERITY_ERROR);
message.setSummary("Email no valido");
message.setDetail("Email no valido");
context.addMessage("registerInput:error", message);
}

}

By Miguel Ruiz on sábado, 6 de noviembre de 2010 | | A comment?

Mandar parámetros por JSF

Ejemplo de cómo mandar parámetros de un JSF (xhtml) a un BackBean:



En la página xhtml o jspx:

< h:commandLink actionListener="#{inventoryList.filtrar}" >
< f:attribute name="filtro" value="#{inventoryList.filtro}"/>
< span>Filtrar< /span>
< /h:commandLink>

En el back bean (invertoryList):

public void filtrar(ActionEvent event) {
String filtro = (String) event.getComponent().getAttributes().get("filtro");
}

By Miguel Ruiz | | A comment?