<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 框架
    主站蜘蛛池模板: 天天摸天天操免费播放小视频 | 两个人日本免费完整版在线观看1 两个人的视频www免费 | 一级中文字幕免费乱码专区| 国产成人毛片亚洲精品| 99精品一区二区免费视频| 亚洲无码一区二区三区| 亚洲日韩精品射精日| 亚洲人成网站免费播放| 一个人看的www在线免费视频| 久久亚洲精品成人AV| 国产免费观看青青草原网站| 日本免费在线观看| 国产精品亚洲一区二区在线观看| 国产亚洲福利精品一区| 日韩精品无码人妻免费视频| 日韩精品无码免费专区午夜不卡| 亚洲最大福利视频| 亚洲AV无码一区二区三区DV| 免费看www视频| 日本xxxx色视频在线观看免费| 麻豆亚洲AV成人无码久久精品 | 国产成人免费全部网站 | 四虎免费影院ww4164h| 一日本道a高清免费播放| 精品亚洲国产成人| 亚洲av激情无码专区在线播放 | 亚洲综合一区二区三区四区五区| 亚洲日韩精品一区二区三区无码 | 亚洲伊人久久大香线蕉综合图片| 成全视频免费高清| 中文字幕成人免费视频| 中文字幕无码毛片免费看| 亚洲国产美女精品久久久| 亚洲第一香蕉视频| 亚洲成A∨人片在线观看不卡| 亚洲成AV人网址| 免费黄网在线观看| 成人午夜18免费看| 国产免费AV片在线播放唯爱网 | 国产麻豆视频免费观看| 亚洲精品在线免费观看视频|