こんにちは、ネストされたイテレータを含む who を使用してフォームを送信したいのですstruts2 hibernate 3
が、jsp でグローバル変数を使用しようとしているすべての属性名を区別できません。
<% int i=0; %>
<form name="evalform" action="saveOrUpdateSousEval" method="post" >
<s:iterator value="CategListGrille" status="catgStatus">
<s:iterator value="type" status="typeStatus">
<s:iterator value="item" status="itemstatus" >
<s:textfield value="66" name="%{'souseval[#i].SousEval_Note'}" />
<% i++; %>
</s:iterator>
</s:iterator>
</s:iterator>
<s:submit value="Evaluer" cssClass="btnsubmit" />
</div>
</form>
私のクラスのアクションでは、私はこれを持っています:
private ArrayList<SousEvaluation> souseval= new ArrayList<SousEvaluation>();
public String saveOrUpdate(){
System.out.println("enter saveOrUpdateEvalNote ok");
sousevaldao.saveOrUpdateSousEvaluation(souseval);
return SUCCESS;
}
そして私のクラスDaoには次のものがあります:
@Override
public void saveOrUpdateSousEvaluationNote(ArrayList<SousEvaluation> sousevalnote) {
try {
for (Iterator<SousEvaluation> it = sousevalnote.iterator(); it.hasNext();) {
session.saveOrUpdate(it.next());
}
} catch (Exception e) {
transaction.rollback();
e.printStackTrace();
}
}
私の目標は、フォームを使用して一度に多くのオブジェクトを送信することです
そのようなイテレータを 1 つだけ使用すると、一度に多くのレコードを送信できます。
<form action="saveOrUpdateSousEval" method="post" >
<s:iterator begin="1" end="2" status="status">
<s:textfield name="%{'souseval['+#status.index+'].SousEval_Note'}" />
<s:textfield name="%{'souseval['+#status.index+'].evalglb.Eval_ID'}" />
<s:textfield name="%{'souseval['+#status.index+'].sousEvalItem.SousItem_ID'}" />
</s:iterator>
<s:submit value="Evaluer" cssClass="btnsubmit" />
</form>