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

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

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

    yxhxj2006

    常用鏈接

    統計

    最新評論

    Struts2的注解功能

    我們知道通常情況下,Struts2是通過struts.xml配置的。但是隨著系統規模的加大我們需要配置的文件會比較大,雖然我們可以根據不同的系統功能將不同模塊的配置文件單獨書寫,然后通過<include>節點將不同的配置文件引入到最終的struts.xml文件中,但是畢竟還是要維護和管理這些文件,因此也會給維護工作帶來很大的困擾。為了解決這個問題,可以考慮使用struts2的注解。實際上struts2中最主要的概念就是packageaction以及Interceptor等等概念,所以只要明白這些注解就可以了。

    如果希望使用struts2的注解功能,必須使用一個包struts2-convention-plugin-2.1.8.1.jar,我使用的環境是struts2.1.8.1。如果你使用了不同的版本,找名字就行。

    在以上所述的jar文件中定義了一系列的注解,其中比較主要的是:

    • @ParentPackage,這個注解對應了xml文件中的package節點,它只有一個屬性叫value,其實就是packagename屬性;
    • @Namespace,命名空間,也就是xml文件中<package>namespace屬性;
    • @Action,這個注解對應<action>節點。這個注解可以應用于action類上,也可以應用于方法上。這個注解中有幾個屬性:
      • value(),表示actionURL,也就是<action>節點中的name屬性;
      • results(),表示action的多個result;這個屬性是一個數組屬性,因此可以定義多個Result
      • interceptorRefs(),表示action的多個攔截器。這個屬性也是一個數組屬性,因此可以定義多個攔截器;
      • params(),這是一個String類型的數組,它按照name/value的形式組織,是傳給action的參數;
      • exceptionMappings(),這是異常屬性,它是一個ExceptionMapping的數組屬性,表示action的異常,在使用時必須引用相應的攔截器;
    • @Result,這個注解對應了<result>節點。這個注解只能應用于action類上。這個注解中也有幾個屬性:
      • name(),表示action方法的返回值,也就是<result>節點的name屬性,默認情況下是【success】;
      • location(),表示view層文件的位置,可以是相對路徑,也可以是絕對路徑;
      • type(),是action的類型,比如redirect
      • params(),是一個String數組。也是以name/value形式傳送給result的參數;

    實際上,struts2中的主要注解就是這些,當然了,還有上面提到的@interceptorRef@exceptionMapping;基本上,掌握了這些注解就可以了。

    但是如果想讓這些注解真正工作,必須在配置文件增加幾個常量的定義:

    • struts.convention.default.parent.package:這個常量表示缺省的包名是什么,因為在實際應用中,我們常常定義一個缺省的包,這個包中定義了一大堆的攔截器等等,然后其他的包繼承自這個包。這個常量可以配也可以不配;
    • struts.convention.package.locators:這個常量表示你的action類的java包的包名的后綴是啥:比如action。這個常量也可以不配;
    • struts.convention.package.locators.basePackage:這個常量表示你的action類的javapackage的名字是啥;這個常量也可以不配;

    以上三個常量都是輔助作用的,為了讓注解真正的工作,必須在配置文件中增加<package>節點的配置,至少是<package name="myPackage" extends="struts-default" />,這樣注解就可以使用了。

    posted on 2012-09-20 01:08 奮斗成就男人 閱讀(326) 評論(0)  編輯  收藏 所屬分類: J2EE

    主站蜘蛛池模板: 国产精品亚洲精品爽爽| 亚洲欧美国产日韩av野草社区| 精品亚洲成a人片在线观看| 亚洲日韩在线视频| 亚洲色偷偷色噜噜狠狠99| 麻豆安全免费网址入口| 中文字幕永久免费| 182tv免费视视频线路一二三| 91嫩草国产在线观看免费| 免费国产一级特黄久久| 亚洲精品无码不卡在线播HE| 亚洲综合激情六月婷婷在线观看| 亚洲综合激情五月色一区| 免费在线观看一区| 午夜免费福利视频| 在线免费观看毛片网站| 亚洲精品国产美女久久久| 亚洲人成日本在线观看| 思思久久99热免费精品6| 无码精品国产一区二区三区免费| 最近最新MV在线观看免费高清| 亚洲av手机在线观看| 久久精品亚洲一区二区| 日本亚洲免费无线码 | 人碰人碰人成人免费视频| 免费观看男人吊女人视频| 成在人线AV无码免费| 久久精品国产精品亚洲人人 | 伊人久久免费视频| 6080午夜一级毛片免费看6080夜福利| 黄网站在线播放视频免费观看| 中文字幕av免费专区| 亚洲一级毛片免费看| 免费成人av电影| 在线电影你懂的亚洲| 国产亚洲人成在线影院| 午夜不卡久久精品无码免费| 国产成人在线免费观看| 亚洲高清在线播放| 香蕉视频免费在线| 日韩免费精品视频|