selectitems one how ejemplo dinamico jsf binding jsf-2 el

how - selectonemenu jsf ejemplo



¿Cómo mostrar el valor de List#size() en JSF EL? (1)

Si está ejecutando un contenedor con capacidad para EL 2.2 (Tomcat 7, Glassfish 3, JBoss AS 6 o más reciente, todos implementando Servlet 3.0), o está utilizando JBoss EL, entonces debería poder invocar métodos que no sean getter por EL

<h:outputText value="#{myManagedBean.currentDocument.attachment.size()}" />

Una alternativa es usar JSTL fn:length() :

<html xmlns:fn="http://java.sun.com/jsp/jstl/functions" ...> ... <h:outputText value="#{fn:length(myManagedBean.currentDocument.attachment)}" />

Si nada de eso es posible para usted por alguna razón, entonces lo mejor es crear una función EL por su cuenta.

<h:outputText value="#{my:size(myManagedBean.currentDocument.attachment)}" />

o para agregar un método getter adicional a #{myManagedBean} que devuelve exactamente eso.

<h:outputText value="#{myManagedBean.currentDocumentAttachmentSize}" />

Ver también:

Me gustaría saber si hay una manera de vincular el valor devuelto de un método en un componente JSF. Me explicaré mejor. Digamos que tengo una clase como esta:

public class Document { private List<Attachment> attachments; //getter and setter here }

esta clase está expuesta a jsf a través de un bean administrado registrado en una propiedad llamada currentDocument, y se usa en un jsf de esta manera

<h:outputText value="#{myManagedBean.currentDocument.attachment.size}" />

Esto no es correcto, lo sé. Pero, ¿cuál es la forma correcta de hacer esto? ¿Se supone que debo crear un atributo en la clase de documento, digamos numberOfAttachments y enlazar a eso, o hay una manera de enlazar directamente en el valor de retorno de un método?