今天在学习的时候,碰到了这个问题,不知道怎么搞定了,也就是在提交表单的时候另外传递一个参数过去,这个参数不是那些<s:textfield><s:textarea>里面的东西,比如要编辑一篇新闻,原来转过来了这个新闻对应的编号,
类似这样
int idd=(null==request.getParameter("id")?1:(Integer.parseInt(request.getParameter("id"))));
目的是根据这个把需要编辑的新闻里面的东西读出来编辑
然后编辑好新闻,提交表单的时候又需要把这个idd也传过去,也就是还需要根据这个来更新哪条新闻,但是遇到了问题
<s:form action="editnews.action?id=<%=idd%>"validate="true">
我发现这样编译后变成了
<form namespace="" id="editnews" onsubmit="return validateForm_editnews();" action="editnews.action?id=<%=idd%>" method="post">
问题就出现了 原来的
<%=idd%> 被换成了
<%=idd%>,而不是我需要的具体的值,原来可以不用<s:form>而直接用〈form> 但是我又用了struts2的validation验证,需要<s:form>
希望有人知道的指导!!!怎么实现传这个参数 谢谢!
我自己今天想出了一个方法,以前了解过隐藏域这个东西,查了下,struts2标签也确实提供了这样的东西 <s:hidden> 可以把这个ID存在里面
先换成STRING类型的数据
int idd=(null==request.getParameter("id")?1:(Integer.parseInt(request.getParameter("id"))));
String dd=""+idd;
添加一个
<s:hidden name="id" value="<%=dd%>"></s:hidden> 测试发现数据得到了! 大家有什么更好的方法请指教!