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

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

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

    Struts分發機制

    Posted on 2006-01-06 09:40 Computerboy 閱讀(371) 評論(0)  編輯  收藏
    簡介 DispatchAction就是在struts-config中用parameter參數配置一個表單字段名,這個字段的值就是最終替代execute被調用的方法.
    例如
    parameter="method"
    而request.getParameter("method")="save",
    其中"save"就是MethodName。
    struts的請求將根據parameter被分發到"save"或者"edit"或者什么。
    但是有一點,save()或者edit()等方法的聲明和execute必須一模一樣。
    LookupDispatchAction繼承DispatchAction, 用于對同一個頁面上的多個submit按鈕進行不同的響應。
    其原理是,首先用MessageResource將按鈕的文本和資源文件的key相關聯,
    例如button.save=保存;然后再復寫getKeyMethodMap(), 將資源文件的key和MethodName對應起來,
    例如map.put("button.save", "save"); 其配置方法和DispatchAction是一樣的, 使用時要這么寫: LookupDispatchAction的使用
    1) 類編寫規范 BaseAction繼承LookupDispatchAction,且必須實現方法protected Map getKeyMethodMap()。
    這個方法將構建資源key和方法名稱對,放到Map里面返回。
    代碼如下:

    (非 Javadoc)
    * @see org.apache.struts.actions.LookupDispatchAction#getKeyMethodMap() */
    protected Map getKeyMethodMap()
    {
    Map map = new HashMap();
    String pkg = this.getClass().getPackage().getName();
    ResourceBundle methods = ResourceBundle.getBundle(pkg + ".LookupMethods");
    Enumeration keys = methods.getKeys();
    while (keys.hasMoreElements())
    { String key = (String) keys.nextElement();
    ?map.put(key, methods.getString(key));
    ?}
    return map; }

    2) 資源文件這個例子中,將資源key和方法名稱對放到資源文件LookupMethods.properties中。
    資源文件LookupMethods.properties的內容如下:
    button.edit=edit button.delete=delete ...... 然后,
    在struts的MessageResource使用的資源文件如
    ApplicationResource.properties 中添加資源key的值:
    button.edit=編輯 button.delete=刪除 ...... 當然必須用ascii2native轉換成unicode。

    3) 頁面編寫然后界面中就可以使用以下方式提交: 或者 編輯

    4) 配置 method屬性是指定的分發屬性,在struts-config.xml中配置。action的配置應該加上parameter="method"來指定。
    如:   配置好后,按上面所描述的方式提交,BaseAction類將分幾步執行:
    從配置中取得parameter屬性的值,這里為“method”。 再按method找到提交的屬性中取得method屬性的值,這里為“編輯”。
    從MessageResource使用的資源文件中取得“編輯”對應的key,這里為“button.edit”。
    從getKeyMethodMap方法返回的Map中取得改key值對應的方法名稱,這里為“edit”。 調用BaseAction類的方法edit。

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


    網站導航:
     

    posts - 40, comments - 39, trackbacks - 0, articles - 0

    Copyright © Computerboy

    主站蜘蛛池模板: 红杏亚洲影院一区二区三区| 无码人妻精品一二三区免费| 老司机亚洲精品影视www| 国产成人亚洲综合在线| 国产色婷婷精品免费视频| 亚洲a无码综合a国产av中文| 日本一区免费电影| 青青青视频免费观看| 亚洲国产精品国产自在在线| 国产免费内射又粗又爽密桃视频 | 久久久高清免费视频| 亚洲欧洲日本在线观看| 国产精品免费观看久久| 亚洲精品国产av成拍色拍| 免费在线观看a级毛片| 成人片黄网站色大片免费观看cn| 亚洲精品成人片在线观看精品字幕| 成人黄网站片免费视频| 亚洲高清免费在线观看| 97无码免费人妻超级碰碰夜夜| 国内成人精品亚洲日本语音| 亚洲乱码中文字幕综合234| 国产精品高清免费网站| 91情国产l精品国产亚洲区| 成人免费午间影院在线观看| 日韩精品视频在线观看免费| 亚洲第一极品精品无码久久| 91久久精品国产免费直播| 亚洲精华液一二三产区| 亚洲中文字幕无码中文字在线| 99精品一区二区免费视频| 亚洲日韩精品无码专区加勒比 | 美女裸体无遮挡免费视频网站| 亚洲日本乱码在线观看| 国产成人精品免费视频大全麻豆 | 免费福利资源站在线视频| 久久精品国产亚洲av麻| 好爽…又高潮了毛片免费看| 国产精品福利片免费看| 亚洲AV无码一区二区三区牛牛| 久久久精品国产亚洲成人满18免费网站|