2012-02-25 15 views
5

タイルとサイトメッシュはかなり人気がありますが、このようなものは本当に古いもので、現在の素晴らしいものと比べるとひどく見えます。 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に限定されません。

+0

なぜあなたはタイル2が古いスタイルだと思いますか? ERBを見過ごしただけですが、たとえばTiles 2とVelocityを使用して同じ機能を実現できるようです。あなたは何が必要ですか? – sinuhepop

+0

フレームワークの提案を求めることはここではお勧めしません。そのようなリクエストをすべて編集したい場合は、オフサイトをクリックせずにここで回答できる質問にしてください。そうして再オープンのフラグを立ててください。ありがとう。 – Will

答えて

3

は、私はかなりシンプルかつ簡単です速度を、使用しても常にテンプレートの使用可能です(使用を含む)supported the idea that JSP is a good-enough view technology

のプログラム処理のために持っています。

私はJavaの世界で遭遇した最高の技術はgrails 'GSPですが、必ずしもオプションではないGrails全体のWebレイヤーを移行する必要があるかもしれません。

最終的なメモ - あなたが何をしても、フリーメーカは使用しないでください。不必要に複雑で簡単な作業を簡単に達成できません。

+2

これは前に読んでいます。私は、Sitemesh、Tiles、Velocity、多くの設定ファイルからなる複雑なスタックを持つのは良くないと認めなければなりません。しかし、シンプルなJSPはレイアウトに何の助けもなく、テンプレート化にはかなり弱いです。 Ruby、PHPの優れたテンプレートエンジンに慣れていれば、Javaで同等の機能を持たないのはかなりイライラです。 :( – Nowaker

+1

grailsはそれには良いです - (g)レール – Bozho

+3

これはスタック全体です。Faceletsを使用するためだけに、既存のプロジェクトをJSFに、GSPを使用するだけでGrailsに移行する理由はわかりません。 – Nowaker

関連する問題