2

私のWebアプリケーションの1つで、すべてのページを上、左、下の部分が同じように表示したいと思います。
そのために、StrutsTiles構成を使用することを計画しました。しかし、それは私にはうまくいきません。
設定中に間違いを犯している可能性があります。
案内してください。以下は「tiles-def.xml」での私の設定です

 <definition name="mainLayout" path="/pages/layout/classicLayout.jsp">
        <put name="header" value="/pages/layout/header.jsp" />
        <put name="footer" value="/pages/layout/footer.jsp" />
        <put name="menu" value="/pages/layout/menu.jsp" />
        <put name="body"   value="/pages/layout/bodyLayout.jsp" />
    </definition>
    <definition name="outputPage" extends="mainLayout">
        <put name="title" value="HELLO" />
        <put name="body"   value="/pages/Welcome.jsp" />
    </definition>

「Welcome.jsp」が表示されるときはいつでも、その上部(つまり、ヘッダー)、下部(つまり、フッター)、および左側(つまり、メニュー)が、「mainLayout」タイルに指定された設定から取得されるようにします。しかし、これは私の期待どおりに表示されません。

編集:
私のStruts-configファイルには次の設定が含まれています

<global-forwards>
        <!-- Default forward to "Welcome" action -->
        <!-- Demonstrates using index.jsp to forward -->
        <forward
            name="welcome"
            path="/Welcome.do"/>
</global-forwards>


<!-- =========================================== Action Mapping Definitions -->

    <action-mappings>
            <!-- Default "Welcome" action -->
            <!-- Forwards to Welcome.jsp -->
        <action
            path="/Welcome"
            forward="/pages/Welcome.jsp"/>
    </action-mappings>
4

2 に答える 2

2

あなたのように私はサンプルプロジェクトを行い、GitHubにアップロードしました。このURLからダウンロードできます。

https://github.com/neetu2umca/Tiles_Demo

于 2013-01-24T07:01:14.013 に答える
2

私があなたの問題を正しく理解したなら、あなたはtiles_defs.xmlからページの表現を制御したいと思うでしょう。
私があなたのコードで見たのは、あなたはほとんど終わっているということです。
「Welcome.jsp」を「outputPage」の本体として機能させたいので、「outputPage」の定義を含むもう1つのjsp(たとえば「tilesTest.jsp」)が必要です。
また、(struts configで)forwardタグを変更し、その新しいページを指すようにする必要があります。
新しいページには次のコードが含まれています

<%@page language="java" pageEncoding="shift-jis"%>
<%@ taglib uri="/tags/struts-bean" prefix="bean" %>
<%@ taglib uri="/tags/struts-html" prefix="html" %>
<%@ taglib uri="/tags/struts-logic" prefix="logic" %>
<%@ taglib uri="/tags/struts-tiles" prefix="tiles" %>
<tiles:insert definition="outputPage" flush="true" />  

そして、struts-config.xmlファイルは次のようになります

 <action
            path="/Welcome"
            forward="/pages/tileTest.jsp"/>  

これで問題が解決することを願っています。

于 2013-02-01T12:27:21.690 に答える