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

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

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

    隨筆 - 72  文章 - 28  trackbacks - 0
    <2014年1月>
    2930311234
    567891011
    12131415161718
    19202122232425
    2627282930311
    2345678

    常用鏈接

    留言簿(4)

    隨筆分類(66)

    隨筆檔案(72)

    文章檔案(19)

    收藏夾

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    使用注解來配置Action的最大好處就是可以實現零配置,但是事務都是有利有弊的,使用方便,維護起來就沒那么方便了。

     

    要使用注解方式,我們必須添加一個額外包:struts2-convention-plugin-2.x.x.jar。

     

    雖說是零配置的,但struts.xml還是少不了的,配置如下:

     

    <?xml version="1.0" encoding="UTF-8" ?> 

    <!DOCTYPE struts PUBLIC 

        "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN" 

        "http://struts.apache.org/dtds/struts-2.1.7.dtd"> 

       

    <struts>   

        <!-- 請求參數的編碼方式--> 

        <constant name="struts.i18n.encoding" value="UTF-8"/> 

        <!-- 指定被struts2處理的請求后綴類型。多個用逗號隔開--> 

        <constant name="struts.action.extension" value="action,do,htm"/> 

        <!-- 當struts.xml改動后,是否重新加載。默認值為false(生產環境下使用),開發階段最好打開  --> 

        <constant name="struts.configuration.xml.reload" value="true"/> 

        <!-- 是否使用struts的開發模式。開發模式會有更多的調試信息。默認值為false(生產環境下使用),開發階段最好打開  --> 

        <constant name="struts.devMode" value="false"/>   

        <!-- 設置瀏覽器是否緩存靜態內容。默認值為true(生產環境下使用),開發階段最好關閉  --> 

        <constant name="struts.serve.static.browserCache" value="false" /> 

        <!-- 指定由spring負責action對象的創建    

        <constant name="struts.objectFactory" value="spring" /> 

        --> 

        <!-- 是否開啟動態方法調用--> 

        <constant name="struts.enable.DynamicMethodInvocation" value="false"/> 

    </struts> 

    action類的注解:

     

     

    package com.tjcyjd.web.action;   

       

    import org.apache.struts2.convention.annotation.Action;   

    import org.apache.struts2.convention.annotation.ExceptionMapping;   

    import org.apache.struts2.convention.annotation.ExceptionMappings;   

    import org.apache.struts2.convention.annotation.Namespace;   

    import org.apache.struts2.convention.annotation.ParentPackage;   

    import org.apache.struts2.convention.annotation.Result;   

    import org.apache.struts2.convention.annotation.Results;   

       

    import com.opensymphony.xwork2.ActionSupport;   

       

    /** 

     * Struts2基于注解的Action配置

     *  

     */   

    @ParentPackage("struts-default") 

    @Namespace("/annotation_test") 

    @Results( { @Result(name = "success", location = "/main.jsp"), 

            @Result(name = "error", location = "/error.jsp") }) 

    @ExceptionMappings( { @ExceptionMapping(exception = "java.lange.RuntimeException", result = "error") }) 

    public class LoginAction extends ActionSupport { 

        private static final long serialVersionUID = 2730268055700929183L;  

        private String loginName;   

        private String password;   

       

        @Action("login") //或者寫成  @Action(value = "login")  

        public String login() throws Exception {   

       

            if ("yjd".equals(loginName) && "yjd".equals(password)) {   

                return SUCCESS;   

            } else {   

                return ERROR;   

            }   

        }   

        @Action(value = "add", results = { @Result(name = "success", location = "/index.jsp") })   

        public String add() throws Exception {   

            return SUCCESS;   

        }   

        public String getLoginName() {   

            return loginName;   

        }   

        public void setLoginName(String loginName) {   

            this.loginName = loginName;   

        }   

        public String getPassword() {   

            return password;   

        }   

        public void setPassword(String password) {   

            this.password= password;   

        }   

    這樣就完成了一個基于注解的action配置。

     

    總結常用的注解如下:

     

    Namespace:指定命名空間。

    ParentPackage:指定父包。

    Result:提供了Action結果的映射。(一個結果的映射)

    Results:“Result”注解列表

    ResultPath:指定結果頁面的基路徑。

    Action:指定Action的訪問URL。

    Actions:“Action”注解列表。

    ExceptionMapping:指定異常映射。(映射一個聲明異常)

    ExceptionMappings:一級聲明異常的數組。

    InterceptorRef:攔截器引用。

    InterceptorRefs:攔截器引用組。

    posted on 2014-01-09 16:20 kelly 閱讀(206) 評論(0)  編輯  收藏 所屬分類: java 框架
    主站蜘蛛池模板: 亚洲精品你懂的在线观看 | 三年片在线观看免费观看大全一 | 色偷偷亚洲女人天堂观看欧| 黄页网站在线观看免费高清| 精品一区二区三区无码免费直播| 国产亚洲色婷婷久久99精品| 成视频年人黄网站免费视频| 青青草97国产精品免费观看 | 亚洲成AV人片在线观看无| 国产大片免费网站不卡美女| 边摸边脱吃奶边高潮视频免费| 亚洲精品国产成人片| 最近中文字幕免费mv视频8| 精品国产呦系列在线观看免费| 亚洲国产美女在线观看| 亚洲精品亚洲人成在线观看下载| 国产成人精品免费视| 一个人看的免费观看日本视频www| 亚洲毛片一级带毛片基地| 亚洲av麻豆aⅴ无码电影| 亚洲免费人成视频观看| 国产精品高清免费网站 | 91av免费观看| 一本一道dvd在线观看免费视频 | 亚洲字幕AV一区二区三区四区| 国产成人A亚洲精V品无码| 女人让男人免费桶爽30分钟| 国产无遮挡无码视频免费软件 | 免费国产99久久久香蕉| 美女视频黄视大全视频免费的| 亚洲国产精品无码久久久| 国产亚洲情侣一区二区无码AV| 毛片a级毛片免费播放100| 91精品全国免费观看含羞草 | 日韩欧美一区二区三区免费观看| 免费毛片在线看不用播放器| 国产精品亚洲专区无码牛牛| avtt天堂网手机版亚洲| 亚洲邪恶天堂影院在线观看| 亚洲人成人77777网站| 亚洲JIZZJIZZ中国少妇中文|