struts2タイル・プラグインを使用してプロジェクトをコンポーネント化したいとします。struts2タイル・プラグインに問題があります。
<tiles-definitions>
<definition name="indexBaseLayout" template="/indexBaseLayout.jsp">
<put-attribute name="title" value="" />
<put-attribute name="topBar" value="/topbar.action" />
<put-attribute name="catalog" value="" />
<put-attribute name="searchForm" value="" />
<put-attribute name="main" value="" />
<put-attribute name="footer" value="" />
</definition>
<definition name="regInput.tiles" extends="indexBaseLayout">
<put-attribute name="title" value="注册" />
<put-attribute name="main" value="/reg/input.action" />
</definition>
<definition name="regSuccess.tiles" extends="indexBaseLayout">
<put-attribute name="title" value="注册" />
<put-attribute name="main" value="/reg_success.jsp" />
</definition>
<definition name="index.tiles" extends="indexBaseLayout">
<put-attribute name="title" value="主页" />
<put-attribute name="main" value="/index.jsp" />
</definition>
そして、このようなstruts.xmlの一部:私は書かれているtiles.xmlファイルは、このようなものです ご覧のとおり
<package name="main" extends="struts-default" namespace="/">
<action name="topbar" class="topBarAction">
<result name="success">/topbar.jsp</result>
</action>
</package>
、私はいくつかのアクションのURLを入れてプットアトリビュート値。私はそれらがストラットアクションとして実行され、返された結果ビューを表示すると考えました。しかし、実際には、tilesプラグインは "xxxx.action"をファイルとして認識します:java.io.FileNotFoundException:要求されたリソース(/bookstore/topbar.action)は利用できません。 アクションの結果ビューをタイルレイアウトに挿入するソリューションはありますか?
私のページにトップバーがあります。バー内の情報は、ユーザーがログインしているかどうかに依存している。彼はまだログインしていない場合は、ログインリンクがログアウトリンクが表示され、また、文字列「歓迎」+ userNameになります他、表示されます。私は長い間、グーグルでグーグルで挑戦し、タイルデフレーションでアクションを実行する方法を見つけました。ただ、は web.xml内のインナーStruts2のフィルタマッピングタグを含める REQUEST追加します。それは動作しますが、私は理由を知らない。 –
私は、その中に条件タグはブール値用のユーザーオブジェクトに対してテストするいくつかのストラットと標準のjspを使用することをお勧めし多分にisAuthenticated()。私はここでログイン状態の問題で質問に答え:http://stackoverflow.com/questions/6906894/struts-2-session-management-and-dynamically-displaying-jsps/6935182#6935182 –
はさらに明確化のための私の編集を参照してください –