<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 框架
    主站蜘蛛池模板: 免费观看无遮挡www的视频| 国产精品免费久久久久久久久| 久视频精品免费观看99| 亚洲福利视频导航| 日韩内射激情视频在线播放免费| 国产亚洲精品成人a v小说| 皇色在线免费视频| 亚洲AV中文无码字幕色三| 91av免费在线视频| 亚洲国产精华液网站w| 久久久久国产免费| 亚洲理论片中文字幕电影| 在线视频观看免费视频18| 亚洲色大成网站www尤物| 国产免费怕怕免费视频观看| 羞羞漫画小舞被黄漫免费| 亚洲精品视频在线看| 成人av片无码免费天天看| 亚洲国产精品久久久久婷婷老年| 免费A级毛片无码A∨免费| 33333在线亚洲| 免费一看一级毛片人| 99久久免费国产精品热| 亚洲国产美国国产综合一区二区| 国产大片91精品免费观看不卡| 亚洲youjizz| 全部免费a级毛片| 久久精品视频免费| 亚洲av无码久久忘忧草| 免费萌白酱国产一区二区| 日韩免费高清播放器| 亚洲Av高清一区二区三区| 一本色道久久88亚洲综合| 日本免费在线观看| 亚洲欧洲国产综合AV无码久久| 亚洲av无码成人精品区| 在线免费观看你懂的| 美女被爆羞羞网站免费| 老色鬼久久亚洲AV综合| 免费v片在线观看品善网| 24小时日本韩国高清免费|