亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在List <String>上使用<ui:repeat> <h:inputText>不會更新模型值

在List <String>上使用<ui:repeat> <h:inputText>不會更新模型值

在List <String>上使用<ui:repeat> <h:inputText>不會更新模型值這是場景(簡化):有一個bean(稱之為mrBean)與成員和適當的getter / setter:private List<String> rootContext;public void addContextItem() {     rootContext.add("");}JSF代碼:<h:form id="a_form">             <ui:repeat value="#{mrBean.stringList}" var="stringItem">                     <h:inputText value="#{stringItem}" />             </ui:repeat>             <h:commandButton value="Add" action="#{mrBean.addContextItem}">                 <f:ajax render="@form" execute="@form"></f:ajax>             </h:commandButton></h:form>問題是,當單擊“添加”按鈕時,不會執行<h:inputText/>在表示字符串中的值中輸入的值stringList。實際上,從不調用mrBean.stringListsetter(setStringList(List<String> stringList))。知道為什么嗎?一些信息 - 我在Tomcat 6上使用MyFaces JSF 2.0。
查看完整描述

1 回答

?
繁星coding

TA貢獻1797條經驗 獲得超4個贊

String班是不可改變的,不具有該值的制定者。吸氣劑基本上就是Object#toString()方法。

您需要直接獲取/設置值List。您可以通過列表索引執行此操作<ui:repeat varStatus>。

<ui:repeat value="#{mrBean.stringList}" varStatus="loop">
    <h:inputText value="#{mrBean.stringList[loop.index]}" /></ui:repeat>

你不需要一個setter stringList。EL將獲取該項目List#get(index)并設置項目List#add(index,item)。


查看完整回答
反對 回復 2019-08-14
  • 1 回答
  • 0 關注
  • 662 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號