Struts2自定義攔截器

<package name="AInterceptor" extends="struts-default" namespace="/">
		<!-- 註冊攔截器 (既保留struts2的攔截器,又使用自定義攔截器) -->
		<interceptors>
			<interceptor name="loginInterceptor" class="com.cb.Interceptor.loginInterceptor" />
			<interceptor-stack name="loginInterceptorStack">
				<interceptor-ref name="defaultStack" /><!-- struts2默認攔截器 -->
				<interceptor-ref name="loginInterceptor" /><!-- 自定義攔截器 -->
			</interceptor-stack>
		</interceptors>
		
		
		<!-- 全局視圖 -->
		<global-results>
			<result name="success">/WEB-INF/page/SuccessMessage.jsp</result>
		</global-results>
		
		<action name="TestInterceptor_*" class="com.cb.Interceptor.TestInterceptor" method="{1}">
			<result name="kk">/WEB-INF/page/loginSuccess.jsp</result>
		</action>
		
		<action name="login">
			<result>/WEB-INF/page/Login.jsp</result>
		</action>
		<action name="Testlogin">
			<!--爲此action添加攔截器 -->
			<interceptor-ref name="loginInterceptorStack" />
			<result name="ok">/WEB-INF/page/Input.jsp</result>
		</action>
</package>


public class loginInterceptor implements Interceptor {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@Override
	public void destroy() {
		// TODO Auto-generated method stub

	}

	@Override
	public void init() {
		// TODO Auto-generated method stub

	}

	@Override
	public String intercept(ActionInvocation invocation) throws Exception {
		Object user = ActionContext.getContext().getSession().get("User");
		if (user != null) {
			return invocation.invoke(); // 如果user不爲null,代表用戶已經登錄,允許執行action中的方法
		}
		ActionContext.getContext().put("Msg", "你沒有權限執行該操作");
		return "success";
	}

}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章