0

struts2 と tiles(2) フレームワークで BBS を開発しています。

ActionSupport クラスに値をプッシュし、タイルの layout.jsp に値をポップしたいと考えています。しかし、私は値へのアクセスに失敗し続けています。

私の作品を順を追って説明します。

1) ユーザーはリンクをクリックして、一覧ページで記事を表示します。また、struts.xml で定義されているように BoardView クラスが呼び出されます。

--list.jsp--
<a href="view_board?num=${num}"> ${ subject } </a>

--struts.xml--
<action name="View_board" class="board.BoardView">
<result type="tiles">board.view</result>
</action>

2)アクションクラスはタイトルを値スタックに入れます...そうですか?

--BoardView クラス--

 
public class BoardView extends ActionSupport

    private String title;

    public void Execute() throws Exception {
        ...  
        setTitle(board.getSubject());
        return SUCCESS; 
    }
    ...  
    (setter and getter of title)  

3) ActionClass が SUCCESS を返すと、board.view
--struts.xml--という名前のタイル定義に移動します。
<action name="View_board" class="board.BoardView">
<result type="tiles">board.view</result>
</action>

4) tiles-def.xml と問題は次のとおりです。「タイトル」の値は値スタックからポップできないと思います。
==tiles-def.xml== (タグでインデントできません...ごめんなさい) これがlayout.jsp ==layout.jsp==
<definition name="board.view" extends="layout">
<put-attribute name="title" value="%title" />
<put-attribute name="body" value="/board/view.jsp" />
</definition>



... <title><tiles:getAsString name="title" /></title> ...

value 属性を %{title}、$title、${title} に置き換えてみました。しかし、何もうまくいきませんでした。Web ブラウザは、文字列 ($title) 自体を表示するだけです。

どうすればいいのかわからない...助けてください。

私の悪い説明にもかかわらず、私の作品を理解していただければ幸いです。

4

1 に答える 1

2

現在のプロジェクトでの私のソリューションとして。

  1. テンプレートjs​​p: put<c:out value="${pageTitle}" default="My Title"></c:out>
  2. したがって、すべてのアクション クラスで、変数 pageTitle を DYNAMIC Title に作成する必要があります。
于 2011-03-22T19:16:25.340 に答える