Comment créer un tableau dans JSF EL?
Je veux créer un tableau dans JSF EL. Comment puis-je le faire? Est-il même possible?
Pour illustrer ce que je suis en train d'essayer:
<rich:pickList addAllText="" addText="" removeAllText="" removeText="">
<f:selectItems value="#{'Test', 'TestTest', 'TestTestTest'}" />
</rich:pickList>
Vous devez vous connecter pour publier un commentaire.
Si vous êtes sur EL 3.0 ou plus récent, vous pouvez construire des collections directement en EL.
Si vous n'êtes pas sur EL 3.0 pourtant, vous pourriez résoudre ce cas particulier avec un
fn:split()
truc.De toute façon, cela nécessite un minimum de JSF 2.0 pour le soutien de
List<T>
dans<f:selectItems>
.of:createArray
🙂xmlns:fn="http://java.sun.com/jsp/jstl/functions
au lieu dehttp://java.sun.com/jsp/jstl/core
.C'est possible avec EL 3.0:
Ce qui crée une Liste en premier, puis le convertit en un tableau.
Au moins avec les récentes JSF versions vous n'avez même pas besoin d'un tableau pour
f:selectItems
, tout objet iterable fera. Donc:Pour plus d'informations à propos de la collecte de construction à EL voir le EL 3.0 cahier des charges - version finale, 2.2 Construction des Objets de Collection.
Je suis en utilisant ArrayUtils de apache pour ce faire.
tout d'abord, inscrire le ArrayUtils classe comme un haricot, de sorte que vous pouvez y accéder à partir de EL.
ensuite, vous pouvez appeler ArrayUtils méthodes:
le code ci-dessus ne fonctionnera pas si vous ne pouvez pas accéder à la constante EMPTY_INT_ARRAY. Pour cela, j'ai utilisé primefaces p:importConstants composant, pas sûr si peut être fait dans la plaine de l'ACI.
c'est comment je l'utilise: