
struts2自定义拦截器中一个字段protected Set<String> excludeMethods = Collections.emptySet();
publicvoidsetExcludeMethods(StringexcludeMethods){//这句话是什么意思this.excludeMethods=TextP...
public void setExcludeMethods(String excludeMethods) {
//这句话是什么意思
this.excludeMethods = TextParseUtil.commaDelimitedStringToSet(excludeMethods); }
嗯。估计应该是当前请求需要过滤的action传给这个集合。然后接收时做的一些处理。以便于放进这个set<>? 展开
//这句话是什么意思
this.excludeMethods = TextParseUtil.commaDelimitedStringToSet(excludeMethods); }
嗯。估计应该是当前请求需要过滤的action传给这个集合。然后接收时做的一些处理。以便于放进这个set<>? 展开
1个回答
展开全部
楼上的,童鞋,不晓得就不要乱说。。。excludeMethods 的意思是 拦截器不拦截的方法,而includeMethods 的意思是要拦截的方法,,,但是你配置这个拦截器不需要拦截的方法名的时候在struts-xml中,效果应该更好,代码应该更省吧;
如:
<!-- 只有admin 用户才能访问的action -->
<package name="onlyadmin" extends="struts-default">
<interceptors>
<!--定义一个名为admin的拦截器-->
<interceptor class="edu.cuit.course.interceptor.AdminInterceptor"
name="admin" />
<!--定义一个包含权限检查的拦截器栈-->
<interceptor-stack name="adminInterceptor">
<!--配置内建默认拦截器-->
<interceptor-ref name="defaultStack" />
<!--配置自定义的拦截器-->
<interceptor-ref name="admin">
<param name="excludeMethods">list</param>
</interceptor-ref>
</interceptor-stack>
</interceptors>
其中list、就是不需要拦截的方法。。
如:
<!-- 只有admin 用户才能访问的action -->
<package name="onlyadmin" extends="struts-default">
<interceptors>
<!--定义一个名为admin的拦截器-->
<interceptor class="edu.cuit.course.interceptor.AdminInterceptor"
name="admin" />
<!--定义一个包含权限检查的拦截器栈-->
<interceptor-stack name="adminInterceptor">
<!--配置内建默认拦截器-->
<interceptor-ref name="defaultStack" />
<!--配置自定义的拦截器-->
<interceptor-ref name="admin">
<param name="excludeMethods">list</param>
</interceptor-ref>
</interceptor-stack>
</interceptors>
其中list、就是不需要拦截的方法。。
追问
我配置了xml的。只是excludeMethods 这个方法。需要自己实现撒。你说的我都懂。只是this.excludeMethods = TextParseUtil.commaDelimitedStringToSet(excludeMethods); 这句话。有点模糊。首先它是excludeMethods 的一个Sett方法。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询