1

私は struts2+tiles2 を使用しており、次のことを行いたいと考えています。次のようにメニュー、ボディなどを定義する baseLayout があります。

<tiles:insertAttribute name="menu" />
<tiles:insertAttribute name="body" />

そして、私の tiles.xml で、次のように設定しました。

<definition name="/index" extends="baseLayout">    
    <put-attribute name="title" value="/public/menu.jsp" />
    <put-attribute name="body" value="/public/index.jsp" />
</definition>

そのため、本文で複数の jsp を使用できるより複雑なレイアウトがあり、この jsp の一部にはインライン スクリプトが含まれている場合があります。これらすべてのインライン スクリプトを同じ場所に追加するように設定する方法があるかどうかを知りたいです。たとえば、baseLayout でページ ヘッドを定義し、すべてのインライン スクリプトをこのヘッドに追加したいと考えています。これを行う方法があることを願っていますが、タイルのドキュメントが非常にわかりにくく、これを行う方法を発見していません。

ありがとう!

4

1 に答える 1

0

tiles1 では、次のようなことを行いました。

baseLayout.jsp
<html>
    <head>
        <tiles:getAsString name="appendedFiles"/>
    </head>
<body>
<tiles:insert attribute="menu">
<tiles:insert attribute="body">
</body>
</html>

tiles-defs.xml
<definition name="baseLayout" path="/struts/baseLayout.jsp">
  <put name="cssfiles"><![CDATA[
    <link href="file1.css" rel="stylesheet" type="text/css">
    <link href="file2.css" rel="stylesheet" type="text/css">
  ]]></put>
</definition>

または、コンテンツを別の jsp に配置してから、他のコンテンツと同様に「tiles:insertAttribute」にすることもできます。

于 2011-02-04T20:47:28.143 に答える