次のタイル構成ファイルがあります
<tiles-definitions>
<definition name="base" template="/includes/layout.jsp">
<put-attribute name="header" value="/includes/header.jsp" />
<put-attribute name="menu" value="/includes/menu.jsp" />
<put-attribute name="footer" value="/includes/footer.jsp" />
</definition>
<definition name="home" extends="base">
<put-attribute name="contentBody" value="/home/view.jsp" />
</definition>
</tiles-definitions>
「view.jsp」ページを表示するには、「home.jsp」という別のページがあり、次のコードがあります(のみ)
//home.jsp
<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %>
<tiles:insertDefinition name="home" />
ここでの問題は、「edit.jsp」ページを同じレイアウトでロードしたい場合、この部分を tiles.xml で繰り返す必要があることです。
<definition name="editbase" extends="base">
<put-attribute name="contentBody" value="/home/edit.jsp" />
</definition>
「editbase.jsp」というファイルを作成して呼び出します。(上記のコードを繰り返します)
私はこれが正しい方法なのか、それとも次のようなことができるのか疑問に思っています
<tiles-definitions>
<definition name="base" template="/includes/layout.jsp">
<put-attribute name="header" value="/includes/header.jsp" />
<put-attribute name="menu" value="/includes/menu.jsp" />
<put-attribute name="footer" value="/includes/footer.jsp" />
</definition>
<definition name="home" extends="base">
<put-attribute name="contentBody" value="/home/view.jsp" />
<put-attribute name="contentBody" value="/home/edit.jsp" />
</definition>
</tiles-definitions>
それに応じてページをロードします..私の質問は明確だと思います
私はApacheタイル2.2.2を使用しています
前もって感謝します
乾杯
同時代