2009-08-26 12 views
8

¿Cuál es la sintaxis para llamar a list.size() en una plantilla JSF 2.0 Facelets (por ejemplo, utilizando un elemento h: outputText)?¿Cómo se llama List.size() desde una plantilla de facelets JSF 2.0?

+0

Posible duplicado: http://stackoverflow.com/questions/206161/jsf- list-length – seth

+0

@seth - Si bien eso contiene una respuesta razonable (que debería funcionar con JSF 2.0, aunque la respuesta es anterior), estoy haciendo esta pregunta específicamente para saber si hay alguna actualización de JSF 2.0 que pueda afectar la solución. :) – jsight

Respuesta

22

¿Qué tal esto:

<h:outputText value="#{fn:length(someBean.someList)}" /> 

Tendrá que hacer referencia a la taglib functions en su página JSF (URI: http://java.sun.com/jsp/jstl/functions).

5

No es un problema con JSF 2.0 exactamente. La especificación JSF todavía requiere una clase que se ajuste a la especificación de frijol. Las clases de colección no hacen eso con el método .size(). Todavía tendría que ser .getSize(). Dada la necesidad de una forma "estándar" para acceder a los valores de clase, no lo solucionaremos en JSF en el corto plazo. Alguien tiene que arreglar las clases de colección.

+0

IC ... Tenía la esperanza de que hubieran reelaborado la sintaxis de la expresión para permitir llamadas de método. Podría ser abusado, pero funcionaría fácilmente en casos como este. :) Todavía no entiendo por qué el diseñador de la clase de colección eligió hacer las cosas de esta manera. – jsight

5

Sólo trate #{myBean.myList.size()}

+2

Eso no funcionaría con el estándar. Sin embargo, existen las extensiones el (como jboss el) que permiten esta notación. –

+2

Esto funcionará en cualquier servidor de aplicaciones Java EE 6 – Lincoln

+0

Aparentemente no es el caso (para mi sorpresa): ver http://community.jboss.org/thread/173971 – Kawu

2

Nota: Se añade el espacio de nombres exacta para "fn" de esta manera:

<html xmlns="http://www.w3.org/1999/xhtml" 
     ... 
     xmlns:fn="http://java.sun.com/jsp/jstl/functions"> 
Cuestiones relacionadas