1. 程式人生 > >struts2 利用struts2-convention-plugin外掛實現零配置

struts2 利用struts2-convention-plugin外掛實現零配置

struts2使用convention-plugin外掛可以減少,xml檔案的配置。

	<!-- 設定各個ACTION預設繼承哪個package -->
	<constant name="struts.convention.default.parent.package" value="base" />
	<!--對指定包下面自動搜尋ACTION,並例項化 ,這裡會搜尋action包下的所有*Action類並例項化 -->
	 <constant name="struts.convention.package.locators" value="action" /> 
	<!--使用分隔符-->
	<constant name="struts.convention.action.name.separator" value="-" />
	
	<package name="base" extends="convention-default">
		<interceptors>
                        <!--設定方法攔截器-->
                        <interceptor name="actionInterceptor" class="com.myproject.platform.web.ActionMethodInterceptor"></interceptor>
			<interceptor-stack name="mystack">
				<interceptor-ref name="actionInterceptor"></interceptor-ref>
				<interceptor-ref name="defaultStack"></interceptor-ref>
			</interceptor-stack>
		</interceptors>
		
		<default-interceptor-ref name="mystack"></default-interceptor-ref>
		<!--設定全域性跳轉-->
		<global-results>
			<result name="error">/web/system/error.jsp</result>
			<result name="login" type="redirect">/login.jsp</result>
                        <!--跳轉的Action中的屬性,根據newPath的值進行跳轉-->
                        <result name="redirect" type="redirect">${newPath}</result>
			<result name="dispatcher" type="dispatcher">${newPath}</result>
		</global-results>
           </result>  

	</package>

<constant name="struts.convention.package.locators" value="action" /> 

確定搜尋包的路徑,只要是結尾為action的包都要搜尋,並例項化

public class TestConventionAction extends ActionSupport {
	
	private String newPath;
	public String test(){
		newPath = "/web/test.jsp";
		return "dispatcher";
	}
}
TestConventionAction.java的test方法的  被對映成的訪問方式是 test-convention!test.do