由于三天我尝试在 DB 中插入许多记录,我正在使用struts 2 and hibernate 3
。我有 3 个表:
1 Evaluationglobale (id_eval ,label)
2 SousEval(id_eval ,SousItem_ID),
3 SousItems(SousItem_ID,label)
我的问题是如何在表 Evaluationglobale 中使用最后一个插入时在表 SousEval 中插入许多记录以id_eval
获取更多解释我想做这样的事情:
表评估全球:
id_eval label
----------------------------
1 evaluation 1
表 SousItems:
SousItem_ID SousItem_Libelle
----------------------------
1 sousitem 1
2 sousitem 2
3 sousitem 3
4 sousitem 4
我想在 SousEval 中插入类似的东西
id_eval SousItem_ID
----------------------------
1 1
1 2
1 3
1 4
而且我不知道如何SousItem_ID
从这个 jsp 的迭代器中恢复一切:不认为我需要增加attribute name
of<s:select>
但我不知道这是我的 jsp:
<form action="saveOrupdateSousEval" method="post">
-----------------some code ------
<TABLE class="EvalTable" >
<s:iterator value="item" status="userStatus">
<s:select label="%{Item_Libelle}"
headerValue="---------------- Select ---------------"
headerKey="-1"
name="%{sousEvalItem.SousItem_ID}"
list="sousitem"
listKey="SousItem_ID"
listValue="SousItem_Libelle"
cssClass="tdLabelwidht"
value="%{#request.name}"
/>
</s:iterator>
</TABLE>
<s:texfield type=hidden value="%{id_eval}" name="id_eval" />
</form>
我的课 SousEvaluationDao :
public void saveOrUpdateSousEval(List<SousEvaluation> sousevalnote) {
try {
for (Iterator<SousEvaluation> it = sousevalnote.iterator(); it.hasNext();) {
session.saveOrUpdate(it.next());
}
} catch (Exception e) {
transaction.rollback();
e.printStackTrace();
}
}
在我的班级行动中:
--------
private List<SousEvaluation> sousevalnote=new ArrayList<SousEvaluation>();
private SousEvaluationDao sousevaldao=new SousEvaluationDaoImpl();
---
public String saveOrUpdateEval(){
sousevaldao.saveOrUpdateSousEvaluationNote(sousevalnote);
return SUCCESS;
}