struts2拦截器


jsp拦截器的设置


1,继承:extends AbstractInterceptor 


	public String intercept(ActionInvocation invo) throws Exception {


2,获取:	//获取当前的方法名
		String name=invo.getProxy().getMethod();
		
		//存储在拦截器中的session
		ServletActionContext.getRequest().getSession().setAttribute("login",login); 


		//获取存在session中的名字
		
		String sessionname=(String) ServletActionContext.getRequest().getSession().getAttribute("login"); 
		
		//是否放行
		String result=invo.invoke();


3,配置


配置拦截器的类路径
<interceptors>


<interceptor name="lanjieqi" class="com.yhjf.Lanjieqi.StuLanjieqi">
</interceptor>
</interceptors>


定义拦截器使用的类
<interceptor-ref name="lanjieqi"></interceptor-ref>


将拦截器设置成默认的


<default-interceptor-ref name="lanjieqi">




将自己设置的拦截器加到系统拦截器中,该用法是用于防止将返回值true被拦截器拦截成false
<interceptors>




<interceptor name="loginlanjieqi" class="com.scme.Lanjieqi.LoginLanjieqi"></interceptor>

<interceptor-stack name="jihe">

<interceptor-ref name="loginlanjieqi"></interceptor-ref>

<interceptor-ref name="defaultStack"></interceptor-ref>

</interceptor-stack>

</interceptors>

 
 
 
 
 
 
 
 
在用拦截器的时候  可能会把数据拦截掉,这时候我们就需要用其他方法了
列子:
<span style="white-space:pre">	</span><package name="interceptor" extends="struts-default">
<span style="white-space:pre">		</span><interceptors>
                                <!--  class  就是 自定义的拦截器 -->
<span style="white-space:pre">			</span><interceptor name="auto"
<span style="white-space:pre">				</span>class="com.scme.InterCeptor.AuthorityInterceptor"></interceptor>
<span style="white-space:pre">	</span><!-- 防止页面传入的值被拦截器 拦调了  就把系统拦截器 和 自己定义的拦截器 组合   这样就行了-->
<span style="white-space:pre">			</span><interceptor-stack name="jihe">
<span style="white-space:pre">				</span><interceptor-ref name="auto"></interceptor-ref>
<span style="white-space:pre">				</span><interceptor-ref name="defaultStack"></interceptor-ref>
<span style="white-space:pre">			</span></interceptor-stack>
<span style="white-space:pre">		</span></interceptors>
                         <!--制定默认拦截 -->
<span style="white-space:pre">		</span><default-interceptor-ref name="jihe"></default-interceptor-ref>
<span style="white-space:pre">		</span><action name="cs" class="com.Action.Ceshi">
<span style="white-space:pre">		</span></action>
<span style="white-space:pre">	</span></package>








你可能感兴趣的:(struts2)