0

SpringベースのJavaプロジェクトがあります。フロントエンドにはjQueryがあります。メインのjQueryコンポーネントはタブなので、メインページへのアクセスは次のようになります。http://myIp/project/myController#Tab1

このページに移動する方法が必要です:

  • リダイレクト経由:redirect:/ myController#Tab1(この場合は機能します)

  • [検証が失敗した場合]経由でそれらを返す必要がありますreturn "adminOperations#Tab1"(この場合は機能しません)

'adminOperations'の定義:

<definition name="adminOperations" extends=".mainTemplate" >
    <put-attribute name="title" value="Admin page" type="string" />
    <put-attribute name="content" value="/jsp/admin.jsp" />
    <put-list-attribute name="scripts" inherit="true">
        <add-attribute value="admin.js" type="string" />
    </put-list-attribute>
</definition>

テンプレートページのコンテンツ:

<html>
<head>
    <title><tiles:getAsString name="title" /></title>

    <tiles:useAttribute id="scripts" name="scripts" classname="java.util.List" />
    <!-- processing script & styles data -->
</head>
<body>
<div id="header">
    <div id="headerTitle"><tiles:insertAttribute name="header" /></div>
</div>
<div id="content">
    <tiles:insertAttribute name="content" />
</div>
<div id="footer">
    <tiles:insertAttribute name="footer" />
</div>
</body>
</html>

このタイルに「#」記号の正しい処理を実装するにはどうすればよいですか?

4

1 に答える 1

1

ハッシュは純粋にブラウザのものです。のようなURLにリクエストを/foo.action#bar送信すると、ブラウザはにリクエストを送信し/foo.action、レスポンスからHTMLをレンダリングしてから、HTMLでbar名前またはIDを持つアンカーを見つけ、このアンカーまでスクロールします。(フォームを送信するときに)にリクエストを送信する場合/foo.action、サーバーがリクエストを送信したURLを変更し、barアンカーに移動するように指示する方法はありません。

唯一の方法は、ページがロードされてバーアンカーにジャンプするときに呼び出されるJavaScript関数を含むHTMLページを生成することです。jQueryまたはJavascriptを使用してHTMLページを特定のアンカーにスクロールする方法を参照してください。それを行う方法について。

于 2012-07-12T09:17:26.497 に答える