坚信科学,分享技术

>>>尝试更加利于阅读的2014版科学院,以后都在新版上写。

rose手册第三章六节:controller层:一闪而过的信息,flash支持

rose

3.6.1 需求描述

历史上,做web的需求时,经常遇到一个情况:在A页面修改/添加/删除了信息,提交,提示“修改/添加/删除成功!”。
rose的flash(并非你所想象的adobe的flash)建设性地使这一需求在开发过程中简单快捷化。

3.6.2 使用过程

使用过程会很愉快,在两个action之间,通过return "r:/xxx"来跳转(实际是301),只需要在第一个action里使用flash.put,在第二个action里使用flash.get即可。

  1. @Get("/flash1")  
  2.   public String flashStep1(Flash flash) {  
  3.       flash.add("msg""修改成功!");  
  4.       return "r:/flash2";  
  5.   }  
  6.   
  7.   @Get("/flash2")  
  8.   public String flashStep2(Invocation inv, Flash flash) {  
  9.       inv.addModel("info", flash.get("msg"));  
  10.       return "flash";  
  11.   }  

上述两个action中,当访问flash1时,一句flash信息被写入,快速跳转到flash2的地址。
flash2地址中接收到这个flash信息后写到model中。
还需要在flash2的模板里去显示这个变量。

<%@ page contentType="text/html;charset=UTF-8"%>
提示信息:${info}

3.6.3 注意事项

flash功能利用了浏览器的cookies功能,如果用户的环境不能使用cookies将不会有任何效果。

文中所提及代码均在 https://github.com/XiaoMi/rose/tree/master/rose-example 提供。
文档持续修改版本在 https://github.com/XiaoMi/rose/tree/master/chapter_3_6


原创文章如转载,请注明:转载自五四陈科学院[http://www.54chen.com]
本文链接: http://www.54chen.com/life/rose-3-6.html

This entry was posted in 未分类. Bookmark the permalink.

Leave a Reply