用于开发我正在使用的 webApp,struts 2 hibernate 3
并且我想在更改<s:select/>
标记中的值时运行查询并将此查询的结果传递到隐藏的输入中,并且我想在更改选择标记的元素时留在同一页面
我的页面 jsp 像这个例子一样掠夺:
<form name="evalform" action="saveOrUpdateSousEval" method="post" >
<s:iterator begin="1" end="4" status="status">
<s:hidden name="SousEval_Note"
value="99"
placeholder="entrer Note"
/>
<s:select
headerValue="---------------- Select ---------------"
headerKey="-1"
list="SousItemsListGrille"
listKey="SousItem_ID"
listValue="SousItem_Libelle"
name="sousEvalItem.SousItem_ID"
cssClass="selectedId"
/>
</s:iterator>
</form>
在这里,我首先获取所选元素的 id:
<script type="text/javascript">
$("#idselectdiv .selectedId").change(function () {
var idd = $(this).val();
//each element selected in each select tag has an id and i want excute query of this id
alert(" id selected "+idd);
$.ajax({
//somthing here !!
});
});
</script>
在支柱。xmli 定义此操作:
<action name="ponderation" method="getItembyPonderation" class="action.classAction">
<result name="success" >/oki.jsp</result>
</action>
在我的课堂行动中,我有这个方法:
public Double getItembyPonderation(){
System.out.print("enter getItembyPonderation ok");
Double b = null;
HttpServletRequest request = (HttpServletRequest) ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST);
List<Double> a=selectponder.selectponderation(Long.parseLong(request.getParameter("SousItem_ID")));
while (a != null) {
return b=a.get(0);
}
return b;
}
在我的 classDao 中:
public List<Double> selectponderation(Long idsousitem){
List<Double> valponderation = null;
try {
valponderation = session.createQuery("SELECT a.ponderation FROM items a, sousitems b WHERE a.Item_ID = b.Item_ID and b.SousItem_ID="+idsousitem).list(); ;
} catch (Exception e) {e.printStackTrace();}
return valponderation;
}
在这里我需要一个想法来做到这一点