【问题标题】:Struts2 Sitemesh not working in WAS 6 serverStruts2 Sitemesh 在 WAS 6 服务器中不起作用
【发布时间】:2010-11-13 06:30:01
【问题描述】:

我有一个 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>

【问题讨论】:

    标签: struts2 decorator sitemesh


    【解决方案1】:

    问题是 url 模式,websphere 在内部使用 &lt;url-pattern&gt;/*&lt;/url-pattern&gt; 来做一些事情,解决方案是改变它来做一些新的事情,比如:

    <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>
    

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

    【讨论】:

      猜你喜欢
      • 2011-01-26
      • 2012-05-20
      • 2010-12-19
      • 2011-06-20
      • 2011-05-24
      • 2017-02-25
      • 2022-06-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多