Forms struts 2生成的错误/输入页面未由sitemesh修饰

Forms struts 2生成的错误/输入页面未由sitemesh修饰,forms,validation,struts2,sitemesh,Forms,Validation,Struts2,Sitemesh,我使用的是sitemesh 2.4和struts 2.3.14。Sitemesh正确地装饰了网页,但有一种情况除外:表单验证失败,struts 2呈现带有错误消息的原始输入jsp页面。在线研究之后,我认为问题在于struts 2只是呈现原始的输入jsp页面,而没有调用另一个操作来发出http请求(例如,重定向)。因此,sitemesh无法干预以装饰呈现的jsp页面 因此,我的问题是:是否可以指示struts 2呈现输入jsp页面并触发Http请求,以便sitemesh能够拦截它 提前谢谢大家,

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

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

提前谢谢大家,

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

网站
com.opensymphony.sitemesh.webapp.SiteMeshFilter
网站
/*
要求
向前地
包括
支柱2
org.apache.struts2.dispatcher.ng.filter.strutspreadexecutefilter
支柱2
/*

我有这个设置(没有
条目),它按预期工作。哪个Tomcat/Servlet版本?您是否尝试过用旧的
过滤器Dispatcher
替换
StrutsPrepareAndExecuteFilter
?@leonbloy刚刚意识到我走错了方向。我更改了decorators.xml。现在,sitemesh将主题应用于输入jsp页面所在的/*而不是/regular。显然struts2将重新排序的输入jsp页面放在不同的上下文/文件夹中。这就是为什么呈现的页面没有装饰。现在它被正确地装饰了。但错误字段和消息上的格式已消失:(更新…已添加到要装饰的jsp页面。在decorators.xml中将模式更改为/*后,将不再格式化呈现的jsp页面。我尝试添加到主题页面中,但始终出现jsp运行时异常。最后,我从主题页面和jsp页面中删除了。将这两行添加到主题页面的结尾:现在是正在工作。仍然不明白为什么不能使用。