Struts2:第一個Struts2應用Hello world

配置struts.xml文件

在struts2框架中使用包來管理Action,包的作用和java中的類包是非常相似的,它主要用於管理一組業務功能相關的action。在實際應用中,我們應該把一組業務功能相關的Action放在同一個包下。

配置包時必須指定name屬性,該name屬性值可以任意取名,但必須唯一,它不對應java的類包,如果其他包要繼承該包,必須通過該屬性進行引用。包的namespace屬性用於定義該包的命名空間,命名空間作爲訪問該包下Action的路徑的一部分,如訪問上面例子的Action,訪問路徑爲:/test/helloworld.action。namespace屬性可以不配置,對本例而言,如果不指定該屬性,默認的命名空間爲“”(空字符串)。

通常每個包都應該繼承struts-default包,因爲struts2很多核心的功能都是攔截器來實現。如:從請求中把請求參數封裝到action,文件上傳和數據驗證等等都是通過攔截器實現的。struts-default定義了這些攔截器和Result類型。可以這麼說:當包繼承了struts-default才能使用struts2提供的核心功能。struts-default包是在struts2-core-x.x.x.jar文件中的struts-default.xml中定義的。struts-default.xml也是Struts2默認配置文件。

包還可以通過abstract=“true”定義爲抽象包,抽象包中不能包含action,只能被繼承。

<package name="Login" extends="struts-default">
    <global-results>
        <result name="error">/WEB-INF/jsp/admin/pageError_404.jsp</result>
    </global-results>

    <!-- 跳到登錄頁面 -->
    <action name="DoLoginPage">
        <result>/WEB-INF/jsp/login/login.jsp</result>
    </action>
    <!-- 整個系統彈框信息提醒的ajax,目前只有這種方法才能防止瀏覽器點擊返回之後又出現彈框的問題-->
    <action name="JudgeMessageAjaxAction" class="com.ctbt.action.admin.ajax.JudgeMessageAjaxAction">
    </action>
    <!-- 登錄 -->
    <action name="DoLogin" class="com.ctbt.action.login.DoLoginAction">
        <result name="UserIndex" type="redirect">DoUserIndex</result>
         <result name="AdminIndex" type="redirect">DoAdminIndex</result>
          <result name="login" >/WEB-INF/jsp/login/login.jsp</result>
    </action>
    <!-- 登出 -->
    <action name="DoLogout" class="com.ctbt.action.logout.DoLogOutAction">
        <result type="redirect">DoLoginPage</result>
    </action>
</package>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章