我想在TrunkAction,save方法下进入拦截器ActionLogInterceptor,这样怎么也进不去啊,帮帮忙吧大侠们
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
        "http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<constant name="struts.codebehind.pathPrefix" value="/app/" />
<constant name="struts.custom.i18n.resources" value="i18n/messages" />
<constant name= "struts.multipart.maxSize" value="15242880" />
<constant name="struts.action.extension" value="action,,"></constant>

<package name="default" extends="struts-default" namespace="/">

<interceptors>
<interceptor name="actionlog" class="com.tinet.bpsc.wm.commons.ActionLogInterceptor" />

<interceptor-stack name="bpscStack">
<interceptor-ref name="exception"/>
<interceptor-ref name="tokenSession">
<param name="includeMethods">save,add</param>
</interceptor-ref>
                <interceptor-ref name="servletConfig"/>
                <interceptor-ref name="prepare"/>
                <interceptor-ref name="debugging"/>
                <interceptor-ref name="profiling"/>
                <interceptor-ref name="actionlog"/>
                <interceptor-ref name="scopedModelDriven"/>
                <interceptor-ref name="modelDriven"/>
                <interceptor-ref name="fileUpload"/>
                <interceptor-ref name="staticParams"/>
                <interceptor-ref name="actionMappingParams"/>
                <interceptor-ref name="params">
                  <param name="excludeParams">dojo\..*,^struts\..*</param>
                </interceptor-ref>
                <interceptor-ref name="conversionError"/>
                <interceptor-ref name="validation">
                    <param name="excludeMethods">input,back,cancel,browse</param>
                </interceptor-ref>
                <interceptor-ref name="store">
<param name="operationMode">AUTOMATIC</param>
</interceptor-ref>
</interceptor-stack>
</interceptors>

<default-interceptor-ref name="bpscStack" />
    
    <global-results>
<result name="exception-error-page">/app/errors/error.jsp</result>
<result name="input">/app/errors/fieldError.jsp</result>
<result name="invalid.token">/app/errors/repeatSubmit.jsp</result>
</global-results>
    <global-exception-mappings>  
     <exception-mapping result="exception-error-page" exception="java.lang.Exception"></exception-mapping>  
    </global-exception-mappings>
<action name="TrunkAction" class="com.tinet.bpsc.wm.action.TrunkAction">

<interceptor-ref name="bpscStack"></interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="actionlog"></interceptor-ref>
</action>
    </package>
</struts>

解决方案 »

  1.   

    经过调试,<default-interceptor-ref name="bpscStack" />
     这句话并没有覆盖struts-default.xml下的<default-interceptor-ref name="defaultStack"/>
     谁能给个答案,万分感激
      

  2.   


    /**
     * 项目中的action拦截器
     * @version 1.0
     */
    @InterceptorBean(name = "myInterceptor")
    public class MyInterceptor implements Interceptor {

    private static final Logger log = LoggerFactory.getLogger(MyInterceptor.class); public String advance(HttpServletRequest request, HttpServletResponse response) throws FrameworkException {
    log.info("访问地址:" + request.getRequestURI());
    return null;
    }}/**
     * 用户员工action
     * @version 1.0
     */
    @ActionBean(name = "/user", interceptor = "myInterceptor")
    public class UserAction extends BaseAction {

    private static final Logger log = LoggerFactory.getLogger(UserAction.class);
    private static final String LIST = "/jsp/user/list.jsp";
    private static final String ADD = "/jsp/user/add.jsp";
    private static final String EDIT = "/jsp/user/edit.jsp";
    private static final String PROMPT = "/prompt.jsp";

    /**
     * 员工列表
     * @return String
     */
    public String list() {
    log.info("员工列表");
    return LIST;
    }

    /**
     * 添加员工
     * @return String
     */
    public String add() {
    if ("save".equals(paramString(METHOD_NAME))) {
    try {
    Company company = companyMng.get(id);
    bean.setCompany(company);
    bean.setNamePY(UtilTool.getBean().getFirstPinyin(bean.getRealName()));
    bean = mng.add(bean);
    company.setUserNum(company.getUserNum() + 1);
    company = companyMng.edit(company);
    resetPage(OPERATE_RIGHT, "parent.getUsers();", "添加员工【" + bean.getRealName() + "】成功!");
    } catch (Exception e) {
    resetPage(OPERATE_ERROR, "", OPERATE_ERROR_MESSAGE);
    }
    return PROMPT;
    }
    setRequestAttr("company", companyMng.get(id));
    return ADD;
    } @MatchingBean
    public UserMng mng;
    @MatchingBean
    public CompanyMng companyMng;
    private User bean; public User getBean() {
    return bean;
    } public void setBean(User bean) {
    this.bean = bean;
    }}