Seleccionar página

Migración de Ajax en RichFaces 3.3 a JSF 2 o RichFaces 4

por | Jun 27, 2011 | Java, JBoss AS / JBoss EAP / WildFly

Migración de Ajax en RichFaces. 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.

0 comentarios

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Blog de Neodoo Microsystems
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles. Puedes encontrar más información en nuestra Política de privacidad y Política de cookies.