54 CHEN

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. @Get("/flash2”)

  7. public String flashStep2(Invocation inv, Flash flash) {

  8. inv.addModel(“info”, flash.get(“msg”));

  9. return “flash”;

  10. }

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

提示信息:${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]

Posted by 54chen java