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

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

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

    blogjava's web log

    blogjava's web log
    ...

    JpetStore學習struts新的開發模式

    ?

    今天研究了一下JpetStore源代碼 ,發現它的開發strust模式和我們以往開發的模式完全不同,所有的strust類都繼承org.apache.struts.beanaction.BaseBean

    仔細研究BeanAction類,發現它其實是一個通用類,利用反射原理,根據URL來決定調用formbean的哪個方法!

    一個簡單的例子

    package ?strutstest.action;
    // 繼承BaseBean
    import ?org.apache.struts.beanaction.BaseBean;

    public ? class ?TestBean? extends ?BaseBean? {
    ????
    ????
    public ? static ? final ?String?SUCCESS? = ? " success " ;
    ????
    public ? static ? final ?String?FAILURE? = ? " failure " ;
    ????
    public ?TestBean()? {
    ????}

    ????
    private ?String?id;
    ????
    private ? int ?age;
    ????
    private ?String?name;
    ????
    private ?String?address;
    ????
    // getter?setter
    // 定義幾個業務方法
    ???? public ?String?saveUser()
    ??????
    {
    ??????????System.out.print(
    " 添加用戶.. " );
    ??????????
    // 這里返回一個字符串,將自動導向成功頁
    ??????????
    // 對應的是 forward 的名稱
    ?????????? return ?SUCCESS;
    ??????}

    ??????
    public ?String?updateUser()
    ??????
    {
    ??????????System.out.print(
    " update?user.. " );
    ?????????
    ??????????
    return ?SUCCESS;
    ??????}

    ??????
    public ?String?getUser()
    ??????
    {
    ??????????
    if (id == null )
    ??????????
    {
    ?????????????System.out.print(
    " 沒有此用戶 " );
    ?????????????
    // 導向失敗
    ?????????????retutn?FAILURE;?
    ???????????}

    ??????????
    ??????????System.out.print(
    " 用戶id= " + id);
    ??????????
    return ?SUCCESS;
    ??????}


    strust-config.xml配置文件

    <struts-config>
    ??
    <form-beans>
    ????
    <form-bean?name="testBean"?type="strutstest.action.TestBean"?/>
    ??
    </form-beans>
    ??
    <action-mappings>
    ????
    <action?name="testBean"?path="/test/saveUser"?type="org.apache.struts.beanaction.BeanAction">
    ??????
    <forward?name="success"?path="/success.html"?/>
    ????
    </action>
    ????
    <action?name="testBean"?parameter="*"?path="/test/index"?type="org.apache.struts.beanaction.BeanAction"?validate="false">
    ??????
    <forward?name="success"?path="/user.jsp"?/>
    ????
    </action>
    ????
    <action?name="testBean"?path="/test/updateUser"?type="org.apache.struts.beanaction.BeanAction">
    ??????
    <forward?name="success"?path="/success.html"?/>
    ????
    </action>
    ????
    <action??name="testBean"?path="/test/getUser"?type="org.apache.struts.beanaction.BeanAction"?>
    ?????????
    <forward?name="success"?path="/success.html"?/>
    ????
    </action>
    ??
    </action-mappings>


    說明|:

    Struts-config.xml的配置里有3種映射方式,來告訴BeanAction把控制轉到哪個form bean對象的哪個方法來處理。


    <action name="testBean" path="/test/saveUser" type="org.apache.struts.beanaction.BeanAction">
    ????? <forward name="success" path="/success.html" />
    ??? </action>


    此種方式表示,控制將被轉發到"testBean"這個form bean對象 的"savaUser"方法(行為)來處理。方法名取"path"參數的以"/"分隔的最后一部分。
    parameter="*"

    此種方式表示,form bean上沒有任何方法被調用。如果存在"name"屬性,則struts把表單參數等數據填充到form bean對象后,把控制轉發到"success"。否則,如果name為空,則直接轉發控制到"success"。這就相當于struts內置的org.apache.struts.actions.ForwardAction的功能

    前臺調用

    <html:link?page="/test/saveUser.do">
    saveUser
    </html:link>
    <html:link?page="/test/getUser.do?id=22">
    getUser
    </html:link>
    <html:link?page="/test/updateUser.do">
    UpdateUser
    </html:link>
    </body>
    </html:html>



    參考

    http://blog.csdn.net/yanwp/archive/2006/01/13/578379.aspx

    posted on 2006-05-30 00:09 record java and net 閱讀(837) 評論(3)  編輯  收藏 所屬分類: struts

    評論

    # re: JpetStore學習struts新的開發模式 2006-05-30 12:18 老鼠

    :):)

    您這篇文章我也要了:p

    轉ITPUB論壇去:P

    您要是不愿意,要跟我說一聲哦:P  回復  更多評論   

    # re: JpetStore學習struts新的開發模式 2006-05-30 17:25 吳某人-不斷地學習

    同道中人..

      回復  更多評論   

    # re: JpetStore學習struts新的開發模式 2007-03-17 16:00 阿壽

    這篇文章我看了,對我有用,謝謝你啦.  回復  更多評論   


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


    網站導航:
     

    導航

    常用鏈接

    留言簿(44)

    新聞檔案

    2.動態語言

    3.工具箱

    9.文檔教程

    友情鏈接

    搜索

    最新評論

    主站蜘蛛池模板: 波多野结衣免费在线| 亚洲精品国产精品国自产观看| 亚洲日本国产综合高清| 四虎免费久久影院| 精品免费tv久久久久久久| 国产亚洲精品影视在线| 国内精品久久久久久久亚洲| 91嫩草免费国产永久入口| 特级毛片A级毛片免费播放| 亚洲色图在线观看| 亚洲精品国自产拍在线观看| 99久久人妻精品免费一区| 朝桐光亚洲专区在线中文字幕| 亚洲AV福利天堂一区二区三| 日韩免费电影在线观看| 一区二区三区福利视频免费观看| 亚洲精品9999久久久久无码 | 亚洲精品色午夜无码专区日韩| 中文字幕无码播放免费| eeuss免费影院| 亚洲精品无码mⅴ在线观看| 亚洲AV日韩AV永久无码久久| 国产成人精品男人免费| 免费国产黄网站在线观看可以下载| 免费毛片毛片网址| 国产精品亚洲综合五月天| 久久亚洲综合色一区二区三区| 特级做A爰片毛片免费69| 成人无码精品1区2区3区免费看| 亚洲熟妇av一区二区三区下载| 亚洲无人区午夜福利码高清完整版 | 久久精品国产亚洲AV麻豆网站 | 狠狠色伊人亚洲综合成人| 成人男女网18免费视频| 1000部拍拍拍18勿入免费视频下载| 特级毛片爽www免费版| 亚洲经典千人经典日产| 亚洲日本人成中文字幕| 亚洲综合激情视频| 亚洲国产精品高清久久久| 亚洲色无码一区二区三区|