最近要改一个别人作的JSP项目,需要在一个查询界面中增加一个查询条件,这个查询界面原来有个起止日期两个查询条件,我需要增加一个客户编码选项。
在点击查询时,他将用户选择的起止日期保存到session里,然后得到查询结果后,再定向到查询界面,显示结果,并且,从session中将提交时保存的日期写回到查询界面的两个输入框中,而我比照着加了个客户编码输入框,点查询按钮后得到的结果可以正常显示,但用户输入的客户编码在重新定向的页面里就是空的了。
不知道我描述清楚了没。
我又比照着他的代码,将提交的用户输入的客户编码也一样保存到session里,然后再显示结果时,再把session读出来再写回去。
希望达到这种效果:用户点了查询,给他的感觉是他输入的几个条件都没有动,而查询的结果在下边的grid中显示,就象一般CS程序里的样子
我想问一是不是只有用session方式才能处理?一般应当用什么方法来处理?
因为以前没作过这东西,赶鸭子上架,如果哪个地方说的不清楚您别笑话
------解决思路----------------------
要改的少,就在重定之前用户输入的请求也记在session里。
但现在一般像你说的效果,都用jquery+ajax来做了,这样页面也不用刷新了。
------解决思路----------------------
redirect的时候,把前一个请求的参数再带上啊
例如 第一个请求 /xxx.do?para=va1,然后你redirect的时候,用/url2?para=val1,你后面的para=val1动态带上去就好了啊。
这里只是不能用post,val1的内容不长的话,是可以的;缺点就是会显示在地址栏上。
------解决思路----------------------
不要放session里面,放在request里面就可以了
楼上说重定向,其实这个功能不需要重定向
------解决思路----------------------
这个都无需用session即可实现,你的查询按钮不要触发summit事件即可,采用支持异步刷新的表格控件,点查询按钮,重新给控件绑定数据源即可,无需回传
------解决思路----------------------
关于你说的传统方法,个人感觉还是你的session方法做起来简单一点。。。
------解决思路----------------------
整个系统都是servlet,没用其它框架?
是的,用request存储一样能实现,但注意该在什么地方存,什么地方取;
不要用redirect ,这个是不保存资料的;
用 forward 你就可以用 getAttribute() 来取的前一个 jsp 所放入的 bean 等等资料
------解决思路----------------------
整个系统都是servlet,没用其它框架?
是的,用request存储一样能实现,但注意该在什么地方存,什么地方取;
不要用redirect ,这个是不保存资料的;
用 forward 你就可以用 getAttribute() 来取的前一个 jsp 所放入的 bean 等等资料
要是只是SerVLET的话这个就OK,forward本来后面就带获取参数的