spring-mvc と spring-webflow を使用して独自のプロジェクトを開発しています。Spring Webflow と ajax に関するいくつかの記事を読んだ後、ビューのレンダリングに Apache Tiles を使用する方が良いオプションであることがわかりました。
Sitemesh では、タグ コール ヘッド () を使用しました。テンプレートで使用されるそのタグにより、結果の HTML でレンダリングされるページの head 属性全体をレンダリングできます。
Apache Tiles でこれを達成する方法はありますか? 私の読書から、私は次のことをしなければならないと思います:
2 つの jps。1 つはページの body を含み、もう 1 つは head 定義を含みます。理解を深めるために、テンプレート、ページ、およびタイル定義の例を次に示します。
タイルの定義
<tiles-definitions>
<definition name="base" template="/WEB-INF/view/templates/tileslayout.jsp">
<put-attribute name="title" value="Held - main page"/>
<put-attribute name="body" value=""/>
<put-attribute name="head" value=""/>
</definition>
<definition name="company.edit" extends="base">
<put-attribute name="head" value="/WEB-INF/view/company/editHeader.jsp"></put-attribute>
<put-attribute name="body" value="/WEB-INF/view/company/edit.jsp"></put-attribute>
</definition>
</tiles-definitions>
テンプレート:
<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %>
<html>
<head>
-- css and scripts --
<tiles:insertAttribute name="head" ignore="true"/>
<!-- <decorator:head /> -->
</head>
<body>
--- menu definition ---
<div class="container-fluid">
<tiles:insertAttribute name="body"/>
<!-- <decorator:body/> -->
</div>
<hr/>
<footer>
-----
</footer>
</body>
</html>
会社のページ
<div class="container">
-- the page html code
</div>
本社ページ
<meta name="menu" content="company" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style>
.error {
color: red;
}
</style>
<script type="text/javascript">
$(document).ready(function() {
$('#name').focus();
});
</script>
頭がもっと複雑な場合もあります。
結果のhtmlは問題ありません。しかし、単純であるべき何かのために 2 つの jps を定義するのは好きではありません。
私は何か間違ったことをしていますか?
これを行うより良い方法はありますか?