Uno de las características que nos pueden dar flexibilidad a la hora de trabajar con JSF es el
uso de atributos rendered . Estos nos permiten mostrar o ocultar controles dependiendo del
valor de una expresión de JSF Expression Languaje. Supongamos que tenemos un
formulario sencillo en JSF que incluye un inputText con el precio del portatil que queremos
comprar.
Vamos a ver el código del fichero JSF:
<html xmlns="[Link]
xmlns:h="[Link]
<h:head>
</h:head>
<h:body>
<h:form>
<h:inputText value="#{[Link]}"/>
<h:commandButton id="boton" value="aceptar"
action="[Link]"/>
</h:form>
</h:body>
</html>
[Link]
Una vez hemos construido el formulario vamos a mostrar el código del managedBean.
package [Link];
import [Link];
@ManagedBean
public class BeanPortatil {
private int coste;
public int getCoste() {
return coste;
}
public void setCoste(int coste) {
[Link] = coste;
}
¡Apúntate ahora!
Cursos desde $9.99 al mes.
[Link]
¡Prueba una semana gratis!
¡SUSCRIBIRSE!
Por último tenemos que construir la página de destino en la cual dependiendo del precio del
portatil nos avisará de si podemos comprarlo o no.
Vamos a ver el código fuente de esta página :
<html xmlns="[Link]
xmlns:h="[Link]
<h:head>
</h:head>
<h:body>
[Link]
<h:form>
El portatil cuesta :<h:outputText
value="#{[Link]}"/> Euros
<h:outputText value="Compratelo"
rendered="#{[Link] lt 1000}"/>
<h:outputText value="No te lo puedes comprar"
rendered="#{[Link] gt 1000}"/>
</h:form>
</h:body>
</html>
<pre>
Una vez construido el código invocamos al formulario y rellenamos el campo de coste.
y como resultado final obtendremos :
Hemos conseguido que aparezca este mensaje gracias a que las etiquetas outputText
incluian los siguientes atributos rendered :
[Link]
<h:outputText value="Compratelo"
rendered="#{[Link] lt 1000}"/>
<h:outputText value="No te lo puedes comprar"
rendered="#{[Link] gt 1000}"/>
Recordemos de JSF Expression Language que en la expresión #{[Link] lt 1000} lt
significa “less than” y que en la expresión “#{[Link] gt 1000}” gt significa “greater than”.
CURSO JAVA 8
GRATIS
APUNTATE!!
[Link]