私は、カテゴリのリストを持つbeanという名前の要素を持っており、ドロップダウンボックスからそのリストに追加したいと思います。selectOneMenuで表されるオブジェクトをJSFのBeanのコレクションに追加できますか?
私の要素を残して、すべて正常に動作するページの下部にサブミットがありますが、ドロップダウンのためのコンバータもありますが、これは動作していますが、オブジェクトを取得する方法はありません私のドロップダウンからCategoryの型を選択し、それを私のbeanのカテゴリリストに追加します。ここで
は私からこれを達成しようとしている私のJSFのセクションです:私は、これは動作しません知っている
<table>
<tr>
<th class="textRight">Choose Category</th>
<td>
<h:selectOneMenu id="currentCategory">
<f:selectItems value="#{serviceWeb.listCategories()}" />
</h:selectOneMenu>
</td>
<td>
<h:commandButton id="addCategory" value="Add"
action="element.categories.add(#{currentCategory.value})" />
</td>
</tr>
</table>
、私はエラーを取得する:
action="element.categories.add(#{currentCategory.value})" Not a Valid Method Expression
説明するため、このメニューアイテムのバッキングBeanはありません。コンポーネント自体から値を取得しようとしています。
だから私はこのようにすることはできないと思いますが、どうやってそれをしますか?
可能ですか?
興味深いことに、element.categoriesはaddが呼び出される前に文字列として解決されています。ああ、私はなぜそれがセットなのかを知っています。私は要素クラスにaddメソッドを書く必要があります。 – Link19
私のためだけに動作します。おそらく、あなたはバグのある第三者のELレゾルバを使用しています。 – BalusC
セットであなたのために働く? addCategory()メソッドを要素に追加しました。これは、currentCategory.valueも文字列に解決されるため、別のエラーが発生します。 サードパーティELResolverはありません。 – Link19