日期:2014-05-20  浏览次数:20753 次

用struts 而我的form为什么不能保留前一次request的值呢
我用的是struts1.2 我在struts里面这么配的, 我特别制定了 scope="session"。我做的东西是这样的 一个form页面 里面有一些输入框 页面下查询出结果后 点击表头可以排序 。 这个时候就需要前一个request的form中的值 来重新拼个sql语句。 但是在action里面 form里面没有值啊 我已经设置了scope=session了阿 
<action
path="/BagTraceSearchAction" 
name="dynamic_form" 
scope="session" 
validate="false" 
type="com.ibm.pmb.bag.BagTraceSearchAction">
<forward name="submit" path="/jsp/BagTraceSearch.jsp">
</forward>
</action>

------解决方案--------------------
不是很明白你的意思,如果页面进行了跳转,form中的值还是需要你主动保持到session中的
或者你可以在debug模式下将session中的所有值全部打印看下
------解决方案--------------------
现在要确认的是你把值传进去了吗?
------解决方案--------------------
当提交表单到/BagTraceSearchAction的时候,如果设置了session,会把表单数据放入session

确认你调用/BagTraceSearchAction的时候,是否是提交的表单submit,而不是href的url带参数的形式
------解决方案--------------------
你点击表头排序时是超链接,而不是表单提交,所以无法得到输入框的值。再说在超链接中你应该把所有的参数都带齐了,怎么还需要输入框的值呢?
------解决方案--------------------
读书破万卷,下笔如有神!
------解决方案--------------------
不需要设置为session的范围,如果你这个action 没有调转到其他的action里,这几属性的值,应该会保存在form里面,楼主看看其他地方的问题,action最好用dispathAction
------解决方案--------------------
request 只能保存一次请求的 值,,多次保存 用session,
------解决方案--------------------
你配置scope="session",之后你取form要去session里取。
XxxForm xxxform = (XxxFrom)request.getSession().getAttribute("xxxform");
试试看!
------解决方案--------------------
用session 把