9
votes

Comment appelez-vous LIST.SIZE () à partir d'un modèle de facelets JSF 2.0?

Quelle est la syntaxe pour appeler la liste.Size () dans un modèle de facèle JSF 2.0 (par exemple, à l'aide d'un élément H: de sortieText)?


2 commentaires

Duplicaté possible: Stackoverflow.com/questions/206161/jsf-list-list-list-longueur


@Seth - Bien que cela contienne une réponse raisonnable (qui devrait fonctionner avec JSF 2.0, bien que la réponse l'antérique), je pose spécifiquement cette question de savoir s'il y a des mises à jour de JSF 2.0 pouvant affecter la solution. :)


4 Réponses :


5
votes

Ce n'est pas un problème avec JSF 2.0 exactement. La spécification JSF nécessite toujours une classe conforme à la spécification des haricots. Les classes de collecte ne font pas cela avec la méthode .Size () . Il faudrait toujours être .getsize () . Compte tenu de la nécessité d'une méthode "standard" d'accéder aux valeurs de la classe, nous ne nous déplacons pas dans JSF à tout moment. Quelqu'un doit réparer les classes de collecte.


1 commentaires

IC ... J'espérais avoir retravaillé la syntaxe d'expression pour permettre des appels de méthode. Cela pourrait être abusé, mais cela fonctionnerait facilement autour des cas comme celui-ci. :) Je ne comprends toujours pas pourquoi le concepteur de classe de collection a choisi de faire des choses de cette façon.



23
votes

Que diriez-vous:

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


0 commentaires

6
votes

juste essayer # {mybean.mylist.size ()}


2 commentaires

Cela ne fonctionnerait pas avec Standard El. Il y a cependant des extensions (telles que JBoss El) qui permettent cette notation.


Apparemment, ce n'est pas le cas (à mon étonnement): voir communauté.jboss.org/thread/173971



2
votes

Remarque: strong> L'espace de noms exact pour "fn" est ajouté comme suit:

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


0 commentaires