Struts2 拦截器的 过滤方法

Struts2 拦截器的 过滤方法求助
Struts2 拦截器的 过滤方法 首先 整体是一个这样的,

===========================这个是我的helloaction
public class HelloAction extends ActionSupport {
private static final long serialVersionUID = 1L;
@Override
public String execute() throws Exception {
System.out.println("execute");
ActionContext.getContext().put("message", "execute");
return "success";
}
public  String show(){
System.out.println("show");
return "success";
}}

===========================这是我的拦截器
public class PermissionInterceptor implements Interceptor {

public void destroy() {
}
public void init() {
}
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("message", "你没有权限执行该操作");
return "success";
}
}

=============================这个是struts.xml
<struts>
<constant name="struts.action.extension" value="do,action"></constant>
<constant name="struts.18n.encoding" value="UTF-8"/>
<constant name="struts.devMode" value="true" />
<include file="test.xml"></include>
</struts>

============================这个是test.xml
<struts>
<package name="hello" namespace="/hello"  extends="struts-default">
<interceptors>
<interceptor name="permission" class="com.pb.action.PermissionInterceptor"/>
<interceptor-stack name="permissionStack">
<interceptor-ref name="defaultStack"/>
<interceptor-ref name="permission" >
<param name="excludeMethods">show</param>
</interceptor-ref>
</interceptor-stack>
</interceptors>
<action name="list*" class="com.pb.action.HelloAction" method="{1}">
<interceptor-ref name="permissionStack" >


</interceptor-ref>
<result name="success">/message.jsp</result>
</action>
</package>
</struts>

=========================user.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
request.getSession().setAttribute("user","itcast");
%>

用户已经登录

=======================quit.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
request.getSession().removeAttribute("user");
%>

用户已经退出

==============================================================
问题是:大概流程是 我登一下user.jsp说明登录了,就可以去访问通过拦截去执行那两个方法了,quit.jsp就代表登出了,但是为什么我设置了<param name="excludeMethods">show</param>不让拦截器拦截show方法,还是 被拦截了,我试图改成listshow  list*  listshow() 等等 都是不行,还是“你没有权限执行该操作”;死活就是没有一个方法跳过这个拦截器 所以小白求助。。。
------解决方案--------------------
http://blog.****.net/coolcoffee168/article/details/7963251
------解决方案--------------------
struts2 MethodFilterInterceptor类,该类是AbstractInerceptor的子类,可以实现对Action方法的拦截.实现MethodFilterInterceptor才能使用方法拦截
    MethodFilterInterceptor中有两个方法
    setExcludeMethods:排除需要过滤的方法
       setIncludeMethods:设置需要过滤的方法