Seleccionar página

Voy a mostrar las diferencias entre las 3 formas de hacer lo mismo con Richfaces 3.3, con JSF 2 y con Richfaces 4.0.

La aplicación es muy simple un “HelloWorld”. Tiene un campo de entrada para poner lo que se quiera y un linea que indica cuantas veces se ha saludado y el último saludo.

RichFaces 3.3 :

<h:form>
<h:outputText value=”Greeting:” />
<h:inputText value=”#{helloworldBean.text}” >
<a4j:support event=”onkeyup” action=”#{helloworldBean.hello}”
reRender=”text, count”/>
</h:inputText>
<br/>
<h:outputText value=”Text:” />
<h:outputText id=”text” value=”#{helloworldBean.text}” />
<h:outputText value=”Count:” />
<h:outputText id=”count” value=”#{helloworldBean.count}” />
</h:form>

El managed bean necesario (tiene que ser configurado en el faces-config.xml):

public class HelloworldBean {
private String text;
private Integer count;

public String getText(){
return text;
}

public void setText(String text){
this.text = text;
}

public Integer getCount(){
return count;
}

public void setCount(Integer count){
this.count = count;
}

public void hello() {
count++;
}

}

JSF 2 :

<h:form>
<h:outputText value=”Greeting:” />
<h:inputText value=”#{helloworldBean.text}” >
<f:ajax event=”keyup” execute=”@form” render=”text count”
listener=”#{helloworldBean.helloListener}”/>
</h:inputText>
<br/>
<h:outputText value=”Text:” />
<h:outputText id=”text” value=”#{helloworldBean.text}” />
<br/>
<h:outputText value=”Count:” />
<h:outputText id=”count” value=”#{helloworldBean.count}” />
</h:form>

El managed bean (no hace falta configurarlo en el facex-config.xml):

@ManagedBean(name=”helloworldBean”)
@RequestScoped
public class HelloworldBean {
private String text;
private Integer count;

public String getText(){
return text;
}

public void setText(String text){
this.text = text;
}

public Integer getCount(){
return count;
}

public void setCount(Integer count){
this.count = count;
}

public void helloListener(AjaxBehaviorEvent event) {
count++;
}
}

RichFaces 4.0 :

<h:form>
<h:outputText value=”Greeting:” />
<h:inputText value=”#{helloworldBean.text}” >
<a4j:ajax event=”keyup” render=”text,count”
listener=”#{helloworldBean.helloListener}”/>
</h:inputText>
<br/>
<h:outputText value=”Text:” />
<h:outputText id=”text” value=”#{helloworldBean.text}” />
<br/>
<h:outputText value=”Count:” />
<h:outputText id=”count” value=”#{helloworldBean.count}” />
</h:form>

El managed bean es el mismo que para JSF 2.

Como se ha observado al añadir soporte ajax directamente en JSF 2, el componente <a4j:support> ha sido sustituido por <a4j:ajax> para mantener la relación del nombre con el componente estandar.

Este componente añade caracteristicas adicionales al de JSF 2 mayor flexibilidad y potencia, como por ejemplo porde usar colas, más control en lo que se procesa y de renderiza… y muchas más cosas.

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies