2011-09-15 6 views
1

私はこれを既存のTiles構成で見つけました。タイルはSpringMVCで使用されています。 誰かがこれについて何か説明できますか?タイル定義の説明。 *と{1}は何をするのですか?

基本的には、フォームpage.*のすべてのビューに対するリクエストを傍受し、静的JSPページを表示します。私が理解できないのはどういうことなの? {1}は何をしますか? *で表されるコンテンツを置き換えるだけですか?

about.jspというjspを表示したい場合は、コントローラはどのビューを要求する必要がありますか? page.about.jspまたはpage.about

また、layout.page.{1}とは何ですか?私はlayoutフォルダを私のjspフォルダの下に見つけることができません。次のように

<!-- Static pages --> 
<definition name="page.*" extends="layout.main"> 
    <put-attribute name="titleKey" value="title.{1}"/> 
    <put-attribute name="body" value="layout.page.{1}"/> 
</definition> 

レイアウト定義は次のとおりです。「

<definition name="layout.main" template="/WEB-INF/templates/mainLayout.jsp" 
      preparer="com.company.modules.web.tiles.ABTestViewPreparer"> 
    <put-attribute name="titleKey" value="Company Archetypical Webapp"/> 
    <put-attribute name="backToResults" value="" /> 
    <put-attribute name="metaDesc" value="meta.description"/> 
    <put-attribute name="metaKeywords" value="meta.keywords"/> 
    <put-attribute name="header" value="/WEB-INF/templates/header.jsp"/> 
    <put-attribute name="searchBar" value="/WEB-INF/templates/blank.jsp"/> 
    <put-attribute name="nav" value="/WEB-INF/templates/blank.jsp"/> 
    <put-attribute name="ads" value="/WEB-INF/templates/blank.jsp"/> 
    <put-attribute name="body" value="/WEB-INF/templates/blank.jsp" /> 
    <put-attribute name="footer" value="/WEB-INF/templates/footer.jsp"/> 
</definition> 

すべてのヘルプは高く評価され、私はタイルのドキュメントからそれを理解しようとしているが、起こっていただきました!それだけはっきりしていないと私はドン元のコードに戻すことができない可能性があるので、私が何をしているのか分からない限り、ハックしたくないです。

答えて

2

{1}は、例えば page.FOOのためのワイルドカード値 によって置き換えられますアクションは、プロパティファイル内にあるものは何でもtitle.FOOに解決でしょうpage.FOO titleKeyにユーザーを送信した場合、{1}はそうFOO

に置き換えられます。

関連する問題