您的位置:首页 > 编程语言 > Java开发

分页展示数据时,action重定向无法加载数据列表

2017-10-25 17:33 357 查看
今天使用ssh编写OA项目的时候,在写列表展示用户数据的的时候,在写到修改用户数据的时候,修改完数据点击提交的时候,数据可以进行修改,但是页面无法重定向到列表展示页面,在网上查找了很多资料,有的说是要改struts2的改版本将2.5的改成2.3的版本,但是我的项目中是配合maven开发的,所以更改起来会有好多问题,有的人也说删掉某一个包,具体是什么忘了,但是我查找了我自己的包,并没有导入这个包,最后在尝试着解决的过程中,发现了几个问题
问题一在struts.xml的配置文件中,重定向是忽略的action的方法名,而是以返回值做了重定向的条件,所以无法找到,报异常,





问题二在重定向的目标action中需要用到一个参数,开始没有传参,导致再 UserInfoDaoImpl 类中查询数据的方法执行异常,无法加载页面





一开始将这个参数写成静态的数字 1 ,虽然可以加载页面,但是不管在第几页点击进入的修改的操作,提交数据后豆浆会倒第一个页面,考虑到如果数据量过大的话,此功能不合理,所以放弃,开始思考如何将当前页作为参数传递到这里进行使用,但是在重定向的时候无法传递数据,思考过后,决定将当前页的数值和要修改的用户的ID一起存入到域对象中,
具体操作如下:





然后在对应的action中获取到域对象里面存储的值,拿到存储的用户id和当前页的数值后,去数据库中查询数据,然后与当前页的数值在一起存入到域对象中,这样在修改页面中就有了当前页的数值,这里做了一次当前页数值得转存,没有测试此步骤是否省略,





点击修改页面的按钮会触发此action,





最后在struts.xml配置文件中使用,





update的action代码如下:





加载列表页面所触发的action如下:我们加载列表的时候是进行了分页加载,所以需要当前页









整个过程仍然存在问题,有的地方可以进行优化,这里不再补充说明,之所以写这篇文档,是因为网上查了好多教程都无法解决我的问题,在这里我把我的解决方案提出来,希望帮到更多遇到此类问题的人,欢迎大家评论和转载,标明出处即可,希望大神给予指点,提出更好的建议



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息