<?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>
@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>
<!-- 指定由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" />