0

jspsをロードするためのヘッダー、メニュー、本体があります。毎回メニュー要素をクリックすると、タイル全体がリロードされます。しかし、選択したメニュー項目をユーザーに表示したいと思います。タイルがリロードされたため、ユーザーがクリックした要素を取得できません。これを解決させてください。ありがとう

  <definition name="main-tiles" template="/WEB-INF/jsp/menu/home.jsp">
    <put-attribute name="header" value="/WEB-INF/jsp/menu/header.jsp" />
    <put-attribute name="menu" value="/WEB-INF/jsp/menu/menu.jsp" />
    <put-attribute name="body" value="" />    
  </definition>

  <definition name="home" extends="main-tiles">
    <put-attribute name="body" value="" />
  </definition>


  <!--  User Tiles -->  
  <definition name="newUser" extends="main-tiles">
    <put-attribute name="body" value="/WEB-INF/jsp/userandorg/user/newUser.jsp" />
  </definition>
4

1 に答える 1

2

タイルは実際には互いに「通信」しません。

タイルで構成されたページがブラウザで完全にレンダリングされたら、html(ソースを表示)を表示します。タイルフレームワークが透けて見えるのを強く押す必要があります。これは、ユーザーがメニューをクリックすると、サーバーへの往復通信であり、サーブレットコードを実行し、タイルフレームワークを使用して結果のhtmlを作成することを意味します。

望ましい動作として説明するのは、ブラウザペインのさまざまなセクションが文字通りさまざまな要求/応答である動作に似framesetています。サーブレットの呼び出しであるフレームワークを使用iframeして同じ効果を達成し、ページ全体を更新せずにhtmlの特定のブロック(通常はまたは要素として定義)を動的に更新できます。AJAXdivspan

ただし、タイル構成を使用してクリックされたメニューを強調表示するだけの場合は、サーブレットにクリックされJSTLたメニューを識別させてから、menu.jspページでメニュー項目リンクを識別し、CSSメニューリンクにスタイルを指定します。それはまだ往復(非AJAX)通信ですが、あなたが説明する効果を与えるはずです。

于 2013-01-10T07:32:40.607 に答える