0

我有一个 struts2-spring 应用程序,它在码头服务器中运行良好,但是当我尝试将它迁移到 WAS 6 时,装饰器(sitemesh)没有得到应用。服务器日志显示没有错误。这是一个已知问题吗?我的 web.xml 看起来像这样

<filter>
    <filter-name>action2-cleanup</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>
</filter>
<filter>
    <filter-name>sitemesh</filter-name>
    <filter-class>com.opensymphony.module.sitemesh.filter.PageFilter</filter-class>
</filter>
<filter>
    <filter-name>action2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
    <filter-name>action2</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
    <filter-name>action2-cleanup</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
    <filter-name>sitemesh</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>FORWARD</dispatcher>
    <dispatcher>INCLUDE</dispatcher>
    <dispatcher>REQUEST</dispatcher>
</filter-mapping>
4

1 回答 1

0

问题是 url 模式,websphere 内部<url-pattern>/*</url-pattern>用于某些东西,解决方案是将其更改为新的东西,例如:

<filter>
    <filter-name>action2-cleanup</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>
</filter>
<filter>
    <filter-name>sitemesh</filter-name>
    <filter-class>com.opensymphony.module.sitemesh.filter.PageFilter</filter-class>
</filter>
<filter>
    <filter-name>action2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
        <filter-name>action2</filter-name>
        <url-pattern>/app</url-pattern>
</filter-mapping>
<filter-mapping>
        <filter-name>action2-cleanup</filter-name>
        <url-pattern>/app</url-pattern>
</filter-mapping>
<filter-mapping>
        <filter-name>sitemesh</filter-name>
        <url-pattern>/app</url-pattern>
        <dispatcher>FORWARD</dispatcher>
        <dispatcher>INCLUDE</dispatcher>
        <dispatcher>REQUEST</dispatcher>
</filter-mapping>

并将应用程序文件放在该路径下

于 2010-05-17T22:55:37.113 回答