0

私のtiles.xmlファイルには次のコードがあります。

データベースからデータを取得しsidebar.jsp、ショー定義に入力する Struts2 アクションがあります。別の作業に対して同じアクションの別のメソッドを再度ヒットし、今回はリスト ビュー定義に入力しますが、以前のデータはsiderbar.jspその値を保持しません。

私はこれで1週間立ち往生しています。助けてください。

   <definition name="baseLayout" template="/jsp/baseLayout.jsp">
      <put-attribute name="header" value="/jsp/header.jsp"/>
      <put-attribute name="menu"   value="/jsp/menu.jsp"/>
      <put-attribute name="body"   value="/jsp/body.jsp"/>
      <put-attribute name="sidebar"   value="/jsp/sidebar.jsp"/>    
      <put-attribute name="footer"   value="/jsp/footer.jsp"/>
   </definition>

   <definition name="show" extends="baseLayout">
      <put-attribute name="body"   value="/jsp/body.jsp"/>
   </definition>

   <definition name="listview" extends="baseLayout">
      <put-attribute name="body"   value="/jsp/listview.jsp"/>
   </definition>
4

1 に答える 1

0

私の理解では、sidebar.jsp はサイドバーのデータを保持する JSP です。JSP の設定に使用されるオブジェクトの値を確認してください。

 I again hit another method of same action for another work and this time
 I populate list view definition but my previous data of siderbar.jsp does not
 retain its value.

別のアクションを実行すると、アクションのすべての変数が再度初期化されます。これが、sidebar.jsp が以前のデータを保持できない理由である可能性があります。

簡単な解決策の 1 つは、sidebar.jsp に関連するデータをセッションに格納することです。

お役に立てれば :)

于 2013-03-28T08:43:22.187 に答える