论坛首页 Java企业应用论坛

{求Goodidea} webwork如何实现returnUrl

浏览 6239 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-03-02  
就拿普通的一个实体的crud来说吧

第一个页面 ,是一个 实体的 list页面, 而且是分页的

我现在编辑了第9页的第9条数据,

编辑完了, 我想回到前面的list页面, 而且也是第9页 .

请问有什么通用的实现方法哇(既把上一个请求完全hold起来,在前台直接再次触发,上面只是举了个例子)

就好比浏览器的后退按钮的效果, 不同的是, 我需要刷新数据的, 不仅仅是后退而已.

我们项目一直用后台返回action的方法,而且不管分页等的信息的(回到第一页了),

我觉得这样很不好 ,不知道各位是这样处理的。
   发表时间:2007-03-02  
有两种方法
1,JAVA实现
http://www.blogjava.net/jfy3d/archive/2005/06/02/5439.html
2,JAVASCRIPT实现
<script>self.location=document.referrer</script>
0 请登录后投票
   发表时间:2007-03-02  
把查询条件放在HttpSession里面。做一个拦截器,跳出模块的时候(多数是触发菜单操作)把查询条件清空。
0 请登录后投票
   发表时间:2007-03-02  
谢谢ls两位,
但是我想得到的是更通用的解决方法,
上面的翻页后编辑只是一个例子,
还有的例子比如 从错误信息显示页面 返回 转过来的页面, 并且刷新数据。

比如我在编辑一个实体的编辑页面出错误了 ,错误页面有 返回 按钮,能重新执行打开这个编辑页面的action
0 请登录后投票
   发表时间:2007-03-02  
笨办法:
在action里面放一个String returnUrl,每次调用返回前自己编码攒出url给它赋值
然后在映射里面
<result name="success" type="redirect">${returnUrl}</result>
0 请登录后投票
   发表时间:2007-03-03  
Julien 写道
笨办法:
在action里面放一个String returnUrl,每次调用返回前自己编码攒出url给它赋值
然后在映射里面
<result name="success" type="redirect">${returnUrl}</result>


这个方法偶而也用用的,呵呵 ,聪明的方法还没有找到
0 请登录后投票
   发表时间:2007-03-03  
没有好好思考,所以不知道能
0 请登录后投票
   发表时间:2007-03-03  
在你xwork.xml配置文件里面返回列表页面后面附带一个get参数,传递分页页数就搞定了。

<result name="success" type="redirect">/listUsers.action?page=${page}</result>
0 请登录后投票
   发表时间:2007-03-03  
我的做法复杂点:
1.查询方法通过get提交
2.一个action interceptor,在afterInvoke后,storeUrl
3.在最顶层的action定义方法history(),属性historyActionURL
  如要访问用户历史列表页面,使用url: user!history.action?methodNmae=list,则该方法找到user!list.action的历史url+queryString,如user!history.action?name=abcname赋值给historyActionURL
4.定义global result <result type="redirect">${historyActionURL}</result>

0 请登录后投票
   发表时间:2007-03-06  
hanfuquan2720 写道
我的方法和别人的有点不一样,你把当前页的数据放在一个数组里,在你编辑的时候,或者其他操作跳到另外一个页面返回时,都让它去读这个数组,如果是编辑的话,就编辑数组的数据就可以了,而不需要去数据库重新读取数据,不知道我说的你是否明白了?


0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics