0

フォームと表は同じページにあります。ユーザーがフォームの詳細を追加して[追加]をクリックすると、データがテーブルにコピーされます。

ユーザーが詳細を入力して2回目に[追加]をクリックすると(テーブル内の既存のデータ)、最初の値が新しい値で上書きされ、リストの次の値は空になります。

両方の値をテーブルに表示するにはどうすればよいですか。

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//BeanクラスはViewScopedです

@ManagedProperty(value = "#{buyerTO}")保護されたBuyerTo BuyerTO;

リストbuyerTOList=new ArrayList(); //BuyerTOはViewScopeにあります

public String addBuyer(){
 buyerTOList.add(buyerTO);
 buyerTO = new BuyerTO();
 return "";

}

4

1 に答える 1

2

null非/を返すことにより、ビュースコープを終了しますvoid。戻るnullvoid、後続のリクエストのビュースコープを保持するために必要です。

交換

return "";

return null;

また

public void addBuyer() {
    // ...
    // No return statement.
}
于 2012-10-29T15:09:06.017 に答える