码头集装箱的sitemesh和struts2过滤器优先级问题?

码头集装箱的sitemesh和struts2过滤器优先级问题?,struts2,jetty,sitemesh,Struts2,Jetty,Sitemesh,我正在尝试使用Struts 2添加sitemesh,但是过滤器优先级的问题即将出现。当我先添加Struts,然后添加Sitemesh时,如下所示: <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-

我正在尝试使用Struts 2添加sitemesh,但是过滤器优先级的问题即将出现。当我先添加Struts,然后添加Sitemesh时,如下所示:

 <filter>
      <filter-name>struts2</filter-name>
      <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
     </filter>

     <filter-mapping>
      <filter-name>struts2</filter-name>
      <url-pattern>/*</url-pattern>
     </filter-mapping>


     <filter>
        <filter-name>sitemesh</filter-name>
        <filter-class>com.opensymphony.sitemesh.webapp.SiteMeshFilter</filter-class>
     </filter>

    <filter-mapping>
      <filter-name>sitemesh</filter-name>
      <url-pattern>/*</url-pattern>
    </filter-mapping>

支柱2
org.apache.struts2.dispatcher.ng.filter.strutspreadexecutefilter
支柱2
/*
网站
com.opensymphony.sitemesh.webapp.SiteMeshFilter
网站
/*
Struts标签的工作原理类似于但decorator不适用于Jetty
(在tomcat中工作良好)

若我反转并首先放置sitemesh,那个么装饰器会工作,但struts2标记会出现错误(Jetty和Tomcat)


谢谢。

请尝试下面的建议配置,在


支柱准备
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter
struts执行
org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter
网站
com.opensymphony.sitemesh.webapp.SiteMeshFilter
支柱准备
/*
网站
/*
struts执行
/*
org.apache.struts2.dispatcher.ng.listener.StrutsListener
<filter>
    <filter-name>struts-prepare</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter</filter-class>
</filter>

<filter>
    <filter-name>struts-execute</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter</filter-class>
</filter>


<filter>
    <filter-name>sitemesh</filter-name>
    <filter-class>com.opensymphony.sitemesh.webapp.SiteMeshFilter</filter-class>
</filter>

<filter-mapping>
    <filter-name>struts-prepare</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

<filter-mapping>
    <filter-name>sitemesh</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

<filter-mapping>
    <filter-name>struts-execute</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

<listener>
    <listener-class>org.apache.struts2.dispatcher.ng.listener.StrutsListener</listener-class>
</listener>