2011-07-08 20 views
4

私はタイルズで苦労しています。Apache Tilesにタイルの一部を含めますか?

私は多くのビューを持つwebappを持っています。これらはすべて1つのテンプレートの周りに構成されています。テンプレートには約3〜4つの「プレースホルダー」があり、それぞれのビューで異なる動的生成コンテンツを正しいプレースホルダーに配置する必要があります。

Tilesで新しいビューを定義するとき、プレースホルダのコンテンツを持つ複数のJSPファイルを作成する必要があります。それから私は同じように見えるエントリがたくさんある巨大なXMLファイルを更新する必要があります。

私はこれらのプレースホルダのすべてのコンテンツを同じファイルに宣言し、このファイルを部分的にテンプレート(そのプレースホルダまでのすべてのフラグメント)に含めることを可能にするソリューションを探しています。

私はVelocityとFreeMarkerも見ていましたが、どちらかに部分インクルード機能がないようです。

ここには何がありますか?私はフレームワークの変更を検討して、まだ別のビューを作成するのがちょっと面倒なことを喜んで考えています。

ありがとうございます!

+0

申し訳ありませんが、詳細が必要です。 1.複数のJSPファイルについて説明するとき、テンプレートのプレースホルダーで使用されるコンテンツを参照していますか? 2.巨大なXMLファイルはTiles設定ファイルですか? – fcracker79

答えて

0

私はあなたが従う

としてデフォルトのテンプレートを拡張していない可能性がありますので、あなたのxmlファイルが巨大である理由は、これはあなたのベーステンプレートでなければなりませんされて信じている:

<definition name="app.base" template="/WEB-INF/templates/default.jsp"> 
    <put-attribute name="title" value="Not Found" /> 
    <put-attribute name="header" value="/WEB-INF/tiles/header.jsp" /> 
    <put-attribute name="body" value="/WEB-INF/tiles/body.jsp" /> 
    <put-attribute name="footer" value="/WEB-INF/tiles/footer.jsp" /> 
    <put-list-attribute name="stylesheets"> 
     <add-attribute value="/static/public/css/bootstrap.min.css" />   
     <add-attribute value="/static/protected/css/header.css" /> 
     <add-attribute value="/static/protected/css/footer.css" /> 
    </put-list-attribute> 
    <put-list-attribute name="javascripts"> 
     <add-attribute value="/static/public/js/jquery-2.1.4.min.js" /> 
     <add-attribute value="/static/public/js/bootstrap.js" /> 
    </put-list-attribute>  
</definition> 

今、あなたは基本的なを持っていることテンプレートには、あなたは次のようにそれを拡張することができます

<definition name="home" extends="app.base"> 
    <put-attribute name="title" value="Home Page" /> 
    <put-attribute name="body" value="/WEB-INF/tiles/home.jsp" /> 
    <put-list-attribute name="stylesheets" inherit="true"> 
     <add-attribute value="/static/protected/css/whatever.css" /> 
    </put-list-attribute> 
</definition> 

この新しいページは、アプリベースのCSSスタイルシートとホームページの両方を含むことが起こっている

これは役に立ちましたか?

関連する問題