<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學(xué)習(xí)struts新的開發(fā)模式

    ?

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

    仔細(xì)研究BeanAction類,發(fā)現(xiàn)它其實(shí)是一個(gè)通用類,利用反射原理,根據(jù)URL來決定調(diào)用formbean的哪個(gè)方法!

    一個(gè)簡單的例子

    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
    // 定義幾個(gè)業(yè)務(wù)方法
    ???? public ?String?saveUser()
    ??????
    {
    ??????????System.out.print(
    " 添加用戶.. " );
    ??????????
    // 這里返回一個(gè)字符串,將自動(dòng)導(dǎo)向成功頁
    ??????????
    // 對應(yīng)的是 forward 的名稱
    ?????????? return ?SUCCESS;
    ??????}

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

    ??????
    public ?String?getUser()
    ??????
    {
    ??????????
    if (id == null )
    ??????????
    {
    ?????????????System.out.print(
    " 沒有此用戶 " );
    ?????????????
    // 導(dǎo)向失敗
    ?????????????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把控制轉(zhuǎn)到哪個(gè)form bean對象的哪個(gè)方法來處理。


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


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

    此種方式表示,form bean上沒有任何方法被調(diào)用。如果存在"name"屬性,則struts把表單參數(shù)等數(shù)據(jù)填充到form bean對象后,把控制轉(zhuǎn)發(fā)到"success"。否則,如果name為空,則直接轉(zhuǎn)發(fā)控制到"success"。這就相當(dāng)于struts內(nèi)置的org.apache.struts.actions.ForwardAction的功能

    前臺(tái)調(diào)用

    <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學(xué)習(xí)struts新的開發(fā)模式 2006-05-30 12:18 老鼠

    :):)

    您這篇文章我也要了:p

    轉(zhuǎn)ITPUB論壇去:P

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

    # re: JpetStore學(xué)習(xí)struts新的開發(fā)模式 2006-05-30 17:25 吳某人-不斷地學(xué)習(xí)

    同道中人..

      回復(fù)  更多評論   

    # re: JpetStore學(xué)習(xí)struts新的開發(fā)模式 2007-03-17 16:00 阿壽

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


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


    網(wǎng)站導(dǎo)航:
     

    導(dǎo)航

    常用鏈接

    留言簿(44)

    新聞檔案

    2.動(dòng)態(tài)語言

    3.工具箱

    9.文檔教程

    友情鏈接

    搜索

    最新評論

    主站蜘蛛池模板: 久久伊人亚洲AV无码网站| 在线观看免费大黄网站| 亚洲综合无码AV一区二区| 黄网站色成年片大免费高清 | 久久青草免费91线频观看不卡 | 成人免费无码视频在线网站| 亚洲成a人片在线观看中文!!!| 99久久精品免费精品国产| 97se亚洲综合在线| 久久九九兔免费精品6| 日本亚洲色大成网站www久久 | 亚洲无码精品浪潮| 一个人免费播放在线视频看片 | 国产精品成人无码免费| 国产亚洲精品美女2020久久| 免费一级毛片在级播放| 一级成人毛片免费观看| 情人伊人久久综合亚洲| 国产成人精品免费视频大全麻豆 | 德国女人一级毛片免费 | 国产白丝无码免费视频| 亚洲欧洲精品久久| 妞干网手机免费视频| 美女视频黄频a免费| 国产亚洲精品va在线| 1区2区3区产品乱码免费| 亚洲日韩精品国产3区| 亚洲成网777777国产精品| 中文字幕一区二区免费| 亚洲国产av美女网站| 日本不卡高清中文字幕免费| 你是我的城池营垒免费看 | 亚洲a∨无码一区二区| 久久久久久久亚洲精品| 69免费视频大片| 九九精品国产亚洲AV日韩| 国产亚洲成AV人片在线观黄桃| 性做久久久久久免费观看| 无遮挡国产高潮视频免费观看 | 99久久这里只精品国产免费| 免费大片黄在线观看|