17

JSF ELで配列を作成したい。どうやってやるの?それは可能ですか?

私がしようとしていることを説明するには:

<rich:pickList addAllText="" addText="" removeAllText="" removeText="">
    <f:selectItems value="#{'Test', 'TestTest', 'TestTestTest'}" />
</rich:pickList>
4

3 に答える 3

22

EL 3.0以降を使用している場合は、ELで直接コレクションを作成できます。

<f:selectItems value="#{['Test','TestTest','TestTestTest']}" />

EL 3.0をまだ使用していない場合は、この特定のケースfn:split()トリックで解決できます。

<html ... xmlns:fn="http://java.sun.com/jsp/jstl/functions">
...
<f:selectItems value="#{fn:split('Test,TestTest,TestTestTest', ',')}" />

List<T>いずれにせよ、これにはinのサポートのために最低でもJSF2.0が必要<f:selectItems>です。

于 2012-05-22T15:01:13.997 に答える
4

EL 3.0 では可能です。

[1, 2, 3].toArray()

これにより、最初に List が作成され、次にそれが配列に変換されます。

少なくとも最近の JSF バージョンでは、 の配列さえ必要ありませf:selectItemsん。任意の Iterable で十分です。そう:

<f:selectItems value="#{['Test', 'TestTest', 'TestTestTest']}" />

EL でのコレクション構築の詳細については、EL 3.0 仕様 - 最終リリース、2.2 コレクション オブジェクトの構築を参照してください。

于 2015-07-14T10:00:47.457 に答える