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?