0
表格和表格位於同一頁面上。當用戶添加表單詳細信息並單擊添加時,應將數據複製到表格中。在ViewScope中未正確添加數據表格值
當用戶輸入詳細信息並單擊第二次添加(表中已有的數據)時,第一個值被新值覆蓋,列表中的下一個爲空。
我們如何在表格中顯示兩個值。
Name.xhtml
<h:form>
<h:inputText value="#{bean.fName}"/>
<h:inputText value="#{bean.lName}"/>
<h:dataTable value="#{bean.list}" var="name">
<h:column>
<h:outputText value="#{name.fName}">
</h:column>
</h:dataTable>
<h:commandLink action="#{bean.add}"/>
</h:form>
Bean.java //豆類ViewScoped
@ManagedProperty(值= 「#{buyerTO}」) 保護BuyerTo buyerTO;
List buyerTTist = new ArrayList(); // BuyerTO是ViewScope
public String addBuyer(){
buyerTOList.add(buyerTO);
buyerTO = new BuyerTO();
return "";
}
返回null不解決問題,請更換
。每次在頁面上單擊按鈕時都會創建一個新視圖。 – user679526
顯然你已經將視圖範圍的bean的屬性綁定到在視圖構建時運行的某個標記/屬性。到目前爲止在問題中發佈的代碼並沒有表明這一點。所以這是其他地方引起的。有關詳細的背景信息,請轉到此答案:http://stackoverflow.com/questions/3342984/jstl-in-jsf2-facelets-makes-sense/3343681#3343681 – BalusC
h:dataTable是我的代碼中的複合組件。看起來我們不能使用複合組件中的視圖範圍bean。 – user679526