只要JSPX必须是格式良好的XML,就无法在单独的包含文件中包含标题部分,包括标记的beginig,因为必须关闭。
看起来您必须始终包含在所有主页中? 或者我会错过什么?
答案 0 :(得分:2)
Apache Tiles据说可以解决这个问题,它允许你模板化和重用JSPX组件。
更新回答:
在您的views.xml中,您将拥有以下内容:
<definition extends="error" name="dataAccessFailure">
<put-attribute name="body" value="/WEB-INF/views/dataAccessFailure.jspx"/>
</definition>
<definition extends="default" name="index">
<put-attribute name="body" value="/WEB-INF/views/body/index.jspx"/>
<put-attribute name="side" value="/WEB-INF/views/side/index.jspx"/>
</definition>
错误和默认都是我在布局目录中定义的布局,错误是单列布局,默认是两列布局。
layouts目录中还有layouts.xml:
<tiles-definitions>
<definition name="default" template="/WEB-INF/layouts/default.jspx">
<put-attribute name="header" value="/WEB-INF/views/header.jspx" />
<put-attribute name="menu" value="/WEB-INF/views/navigation.jspx" />
<put-attribute name="footer" value="/WEB-INF/views/footer.jspx" />
</definition>
<definition name="error" template="/WEB-INF/layouts/error.jspx">
<put-attribute name="header" value="/WEB-INF/views/header.jspx" />
<put-attribute name="menu" value="/WEB-INF/views/navigation.jspx" />
<put-attribute name="footer" value="/WEB-INF/views/footer.jspx" />
</definition>
</tiles-definitions>
我手动没有亲自完成apache tile集成,我只是使用Spring ROO为我生成一个完整的堆栈,然后根据需要添加/删除东西。