簡體   English   中英

我可以將selectOneMenu表示的對象添加到JSF中bean的集合中嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM