Struts2-Tiles2-Xform--${body}、${footer}、${header}值为空

Struts2-Tiles2-Xform--${body}、${footer}、${header}值为空,struts2,tiles,Struts2,Tiles,我有如下struts2.xml定义: <action name="/template"> <param name="body">/common/test.jsp</param> <param name="header">/page/header.do</param> <param name="footer">/page/footer.do</param> <result name="

我有如下struts2.xml定义:

<action name="/template">
   <param name="body">/common/test.jsp</param>
   <param name="header">/page/header.do</param>
   <param name="footer">/page/footer.do</param>
   <result name="success" type="tiles">/test.tiles</result>
</action>
如果我的配置有任何问题,请告诉我

谢谢你的帮助


谢谢你做了一些奇怪的事情。调用平铺结果时,应渲染视图。它不是一个基于组件的框架的基础。1) 您不应该从视图调用操作(.do extensions)2)属性是使用平铺标记而不是EL表达式插入的。3) 你似乎在使用include指令,而tiles应该取代它,这在很大程度上破坏了tiles的好处。。。值得一试。谢谢你的评论。我正在使用struts2 tiles插件。现在一切正常。
<definition name=".default" template="/Template.jsp">
    <put-attribute name="header" value="/page/header.do"/>
    <put-attribute name="menu" value="/page/menu.do/>
    <put-attribute name="body" value="/page/home.do"/>
    <put-attribute name="footer" value="/page/footer.do"/>
</definition>

<definition name="/test.tiles" extends=".default">
    <put-attribute name="body" value="body123"/>
</definition>
<div id="header">
  <include page="${header}"/>
</div>

<div id="body">
  <include page="${body}"/>
</div>

<div id="footer">
  <include page="${footer}"/>
</div>
<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>
    <dispatcher>FORWARD</dispatcher> 
    <dispatcher>INCLUDE</dispatcher> 
    <dispatcher>REQUEST</dispatcher>
</filter-mapping>