タイルとサイトメッシュはかなり人気がありますが、このようなものは本当に古いもので、現在の素晴らしいものと比べるとひどく見えます。 Ruby(ERB)またはPHP(オープンパワーテンプレート)最近のテンプレートエンジンでは、難しい設定なしで、快適なテンプレート作成(変数の挿入、コンテキストに応じた自動作成、繰り返し可能なIterables、Beanプロパティへのアクセス)やレイアウト(ヘッダ、フッタ、オーバーライド、親に定義されたいくつかの部分への追加など)あなたの現在のスタック(例えばあなたのWebフレームワーク)を変更する必要があります。JSP、Sitemesh and Tilesハードコア - 任意の選択肢?
例parent.html:
<html>
<head>
<title>
<layout:part name="title">
Default title
</layout:part>
</title>
<layout:part name="head" />
</head>
<body>
<div class="menu" layout:part="menu">
default menu
</div>
<div class="content" layout:part="content" />
<div class="footer">
(c) me
</div>
</body>
</html>
例は、スタック全体を変えるために私を必要としないこと、
<layout:extend file="parent.html">
<layout:fill name="title">
Custom title
</layout:fill>
<layout:fill name="contnet">
the content
{$var} from model
</layout:fill>
</layout:extend>
私はより良いFaceletsのを探していますがchild.htmlを - 私はより良い見解を使うために、プロジェクト全体をJSFやWicketに適合させるつもりはありません。
テンプレートエンジンでは、追加のサーブレットやフィルタ(URLベースのロジックなし)は必要ありません。私はプログラム的にエンジンを使いたい。使用可能なユースケースは、Spring 3でカスタムViewResolverを定義することです。
設定ファイルでレイアウトが定義されていなかった場合には完璧です。これは、テンプレートファイルで親ビューを定義するだけでは必要ありません。
フレームワークはJSP上にあるかもしれませんが、必ずしもそうである必要はありません。利点は、他のフレームワーク(例えば、Spring)によって提供されるtaglibを使用する可能性である。
または、すべてが既にSitemesh/Tilesにありますが、多くの設定が必要ですか?上記のすべての目標を達成するための設定例がわかっている場合は、それについてお知らせください。
関連する質問:what alternatives exist to Sitemesh to help layout JSP/JSTL page footers/headers in a Spring MVC app? - 私の質問はテンプレートにも言及し、Spring Web MVCに限定されません。
なぜあなたはタイル2が古いスタイルだと思いますか? ERBを見過ごしただけですが、たとえばTiles 2とVelocityを使用して同じ機能を実現できるようです。あなたは何が必要ですか? – sinuhepop
フレームワークの提案を求めることはここではお勧めしません。そのようなリクエストをすべて編集したい場合は、オフサイトをクリックせずにここで回答できる質問にしてください。そうして再オープンのフラグを立ててください。ありがとう。 – Will