1

我正在使用带有 struts 2.3.14 的 sitemesh 2.4。Sitemesh 正确地装饰了网页,除了一种情况:当表单验证失败并且 struts 2 呈现带有错误消息的原始输入 jsp 页面时。在网上研究之后,我认为问题在于struts 2只是渲染了原始的输入jsp页面,而没有调用另一个动作来发出http请求(例如,重定向)。因此sitemesh没有办法干预来装饰呈现的jsp页面。

所以这是我的问题:是否可以指示 struts 2 呈现输入 jsp 页面并触发 Http 请求,以便它可以被 sitemesh 拦截?

先感谢您,

我的 web.xml 中的相关配置:

<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>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>FORWARD</dispatcher>
    <dispatcher>INCLUDE</dispatcher>
</filter-mapping>

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

0 回答 0