JSPX导致复制粘贴代码?

时间:2011-04-06 19:24:51

标签: jspx

只要JSPX必须是格式良好的XML,就无法在单独的包含文件中包含标题部分,包括标记的beginig,因为必须关闭。

看起来您必须始终包含在所有主页中? 或者我会错过什么?

1 个答案:

答案 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为我生成一个完整的堆栈,然后根据需要添加/删除东西。