你的代碼本身有問題,一般來說,我們在使用Struts時,如果要在JSP隱式的傳值給Action有兩種情況:
1、要傳的值是FromBean中的一個字段,你說的情況應該就是這種情況,例如需要在Edit頁面中保存theID,在Action中執行Update操作時根據ID來更新數據庫的值,你可以這樣做:
Jsp中的代碼為:<html:hidden property="theID" />
提交后,theID的值就會放到FormBean中的theID中,你就可以通過getTheID()來獲得這個值。
2、要傳的值不是FromBean中的一個字段:
Jsp中的代碼為:
<input type="hidden" name="XXX" value="<%=request.getAttribute(XXX)%>">
當然,你應該在Action中就已經就這個值放到了request中,request.setAttribute("XXX",value);,
然后在Action中你才可以通過request.getParameter("XXX");來取得這個值。
補充一點,request.setAttribute("XXX",value);中,value應該是個String,還有,<input
type="hidden" name="XXX"
value="<%=request.getAttribute(XXX)%>">應該改為
<input type="hidden" name="XXX" value="<%=(String)request.getAttribute(XXX)%>">