[英]Can I add object represented by selectOneMenu to a collection in a bean in 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,我試圖從組件本身獲取值。
所以我想你不能這樣做,但你怎么做呢?
可能嗎?
將組件綁定到視圖(如果<h:selectOneMenu>
解析為HtmlSelectOneMenu
的實例)並使用UIInput#getValue()
作為操作方法參數並修復無效的EL語法。
<h:selectOneMenu binding="#{currentCategory}">
<f:selectItems value="#{serviceWeb.listCategories()}" />
</h:selectOneMenu>
<h:commandButton value="Add" action="#{element.categories.add(currentCategory.value)}" />
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.