<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.文檔教程

    友情鏈接

    搜索

    最新評論

    主站蜘蛛池模板: 亚洲伊人久久精品影院| 免费看美女被靠到爽的视频| 在线观看国产区亚洲一区成人| 国产偷国产偷亚洲清高APP| 999国内精品永久免费视频| 亚洲国产精品久久久久久| 九九美女网站免费| 久久青青成人亚洲精品| 99re在线免费视频| 亚洲另类春色校园小说| 免费无码黄十八禁网站在线观看| 亚洲中文字幕久久精品蜜桃| 女人被弄到高潮的免费视频| 亚洲av日韩精品久久久久久a| 国产精品视_精品国产免费| 日韩欧美亚洲国产精品字幕久久久| 日本19禁啪啪无遮挡免费动图| 免费国产黄网站在线看| 国产AV无码专区亚洲AWWW | 亚洲日韩一区精品射精| 在线精品免费视频| 免费国产va视频永久在线观看| 亚洲精品无码专区在线在线播放| 无码囯产精品一区二区免费| 亚洲免费人成视频观看| 黑人粗长大战亚洲女2021国产精品成人免费视频| 亚洲成a人片在线观看精品| 国产国产人免费人成免费视频| 国产精品九九久久免费视频 | 免费在线观看的网站| 国产亚洲福利精品一区二区| 亚洲熟女少妇一区二区| 69精品免费视频| 九九精品国产亚洲AV日韩| 亚洲精品tv久久久久| 久久久久久国产精品免费无码| 亚洲youwu永久无码精品| 亚洲人成色777777在线观看| 成人无码区免费A片视频WWW| 色费女人18女人毛片免费视频| 亚洲A∨无码一区二区三区|