<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 56, comments - 77, trackbacks - 0, articles - 1
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    需求是表單提交后, 轉到另外一個已經存在的頁面, 并在頁面上方的空白處顯示一條醒目的消息, 而且只顯示一次 (刷新后這條消息不應該再出現).

    對 Web 開發相當不熟,  Pair說這需求類似 RoR里的 flash message, 問Java里有沒有.  我們用SpringMVC + Velocity, 看了看文檔, 問了問人, 短時間沒有得到確定方案.

    那就試一試吧, 明知幾乎不可能成功, 還是寫下了下面的代碼:

    model.put("flashMessage""I'm stupid");
    return new ModelAndView(new RedirectView("anotherPage"),  model);

    果然不行,  model無法跨Controller.  那就放在Session里?  以我有限的Web經驗, 應該可以, 問題是何時把它從Session中清除?

    這應該是一個概念: 你放一個東西到Session里, 但你只能獲得一次, 下次它就不存在了.

    用類來表示概念,  我們只需在生成對象時把自己加到Session里, 在提供的獲取函數中把自己從Session中移除, 那么第二次你就得不到它了.

    import javax.servlet.http.HttpSession;

    public class ThrowawayObject {
        
    private HttpSession session;
        
    private String attribute;
        
    private Object value;

        
    public ThrowawayObject(HttpSession session, String attribute, Object value) {
            
    this.session = session;
            
    this.attribute = attribute;
            
    this.value = value;

            session.setAttribute(attribute, 
    this);
        }

        
    public Object getValue() {
            session.removeAttribute(attribute);
            
    return value;
        }
    }


    在 Controller 里, 只需:

    new ThrowawayObject( session, "flashMessage""I'm Stupid" );


    在 View 里, 這里是 velocity 模板:

    #if($flashMessage)
    <script language="javascript">
        showNotificationMsg(
    "$flashMessage.value")
    </script>
    #end


    那么在 Spring MVC 中實現這類功能的標準做法是什么樣的? 其它Java Web 框架呢?


    評論

    # re: ThrowawayObject :在Java中實現Rails里的Flash Message  回復  更多評論   

    2008-10-06 22:51 by 隔葉黃鶯
    不錯,受教了

    # re: ThrowawayObject :在Java中實現Rails里的Flash Message  回復  更多評論   

    2008-10-07 20:44 by simbas
    可以看看grails的flash的實現

    # re: ThrowawayObject :在Java中實現Rails里的Flash Message  回復  更多評論   

    2010-01-21 04:00 by guest
    controller 里面設置session值
    template/view里面刪除session值
    pylons里面是這樣做的。

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 国产亚洲精品欧洲在线观看| 亚洲欧美日韩一区二区三区| 日韩精品无码免费专区午夜| 亚洲精品A在线观看| 青青草97国产精品免费观看| 免费jjzz在在线播放国产| 亚洲av永久无码天堂网| 精品国产麻豆免费网站| 激情小说亚洲色图| 可以免费观看一级毛片黄a| 色吊丝免费观看网站| 亚洲精品国产高清不卡在线| 国产乱妇高清无乱码免费| 亚洲色自偷自拍另类小说| 最好免费观看高清在线 | 亚洲人成电影网站国产精品| 一级做a爰黑人又硬又粗免费看51社区国产精品视| 日韩人妻无码免费视频一区二区三区| 亚洲男人的天堂网站| 永久黄网站色视频免费观看| 羞羞漫画在线成人漫画阅读免费| vvvv99日韩精品亚洲| 日韩精品无码免费专区网站| 亚洲精品福利在线观看| 免费看少妇作爱视频| 日本激情猛烈在线看免费观看| 亚洲开心婷婷中文字幕| 日韩免费一区二区三区在线 | 久久亚洲精品中文字幕| 成人免费一级毛片在线播放视频 | 三上悠亚在线观看免费| 亚洲综合成人网在线观看| 色妞WWW精品免费视频| 老司机精品视频免费| 亚洲国产一二三精品无码| 国产在线jyzzjyzz免费麻豆 | 最好免费观看韩国+日本| 国产精品玖玖美女张开腿让男人桶爽免费看 | 亚洲精品尤物yw在线影院| 91福利视频免费| 成人福利在线观看免费视频|