struts2-基於註解的Action配置

1.web.xml中配置攔截器

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <filter>
	  	<filter-name>strutsFilter</filter-name>
	  	<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
	  </filter>
	  <filter-mapping>
	  		<filter-name>strutsFilter</filter-name>
	  		<url-pattern>/*</url-pattern>
	  </filter-mapping>
</web-app>

2.·使用註解的方式配置struts須要引入一個jar包

3·action類的註解:

@ParentPackage("basePackage")  //指定父包java

@Namespace("/user")   //指定命名空間web

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

 @Result(name = "error", location = "/error.jsp") })   全局的實現跳轉的頁面apache

@Action("userAction")  //指定action的訪問url   瀏覽器

例如:java代碼註解緩存

1   package com.oracle.soccerleague.action;
……
22  @Namespace(value="/admin")  
23  @ParentPackage(value="struts-default")
24  @Action(value="AddLeague")
25  @Results({  
26     @Result(name="success", location="/admin/AddLeagueSucc.jsp"), 
27     @Result(name="input", location="/admin/AddLeague.jsp") 
28  })
29  public class AddLeagueAction extends ActionSupport {
30      private int year;
31      private String season;
32      private String title;
……
100 }

對應的struts.xml配置文件oracle

以上註解與如下struts.xml配置做用相同: 
6  <struts>
7     <package name="admin" namespace="/admin" extends="struts-default">
8          <action name="AddLeague" 
9                  class="com.oracle.soccerleague.action.AddLeagueAction">
10             <result name="success">/admin/AddLeagueSucc.jsp</result>
11             <result name="input">/admin/AddLeague.jsp</result>
12         </action>
13     </package>
14 </struts>

4.struts.xml其餘配置及做用

    <!-- 指定由spring負責action對象的建立 -->app

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

    <!-- 全部匹配*.action的請求都由struts2處理,能夠擴展 -->編碼

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

    <!-- 是否啓用開發模式,上線時通常不須要開啓,開發時獲取更多的日誌信息 -->

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

    <!-- struts配置文件改動後,是否從新加載 -->

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

    <!-- 設置瀏覽器是否緩存靜態內容 -->

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

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

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

    <!-- 每次HTTP請求系統都從新加載資源文件,有助於開發 -->

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

    <!-- 文件上傳最大值 -->

    <constant name="struts.multipart.maxSize" value="104857600" />

    <!-- 讓struts2支持動態方法調用,在調用時使用userAction !login .action方式進行調用 -->

    <!-- Action名稱中是否仍是用斜線 -->

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

    <!-- 容許標籤中使用表達式語法 -->

    <constant name="struts.tag.altSyntax" value="true" />

    <!-- 對於WebLogic,Orion,OC4J此屬性應該設置成true -->

    <constant name="struts.dispatcher.parametersWorkaround" value="false" />

相關文章
相關標籤/搜索