1

基本的にはフロー実行キーの末尾に # を付けたい

例えば_flowExecutionKey=_c8CEAE6.....E1095#

ページが表示されるときにアンカータグに表示されるように

ユーザーが動的に作成するページがあります。

ユーザーは、追加のフィールドをページに追加して、さらにデータを入力することを選択できます。

フィールドは、リストに格納されるオブジェクトです。

ページは、リスト内のすべてのオブジェクトをループして表示します。

別のオブジェクトをリストに追加し、ページを再度表示するアクション フローを構成しました。これにより、新しいフィールドが表示されます。

問題は、ページが再度読み込まれると、新しいフィールドが追加された場所ではなく、常に上部に表示されることです。新しいフィールドが生成される場所にアンカーを追加できますが、フロー実行キーの末尾に # を追加できるかどうかわかりません

4

2 に答える 2

3

少し大当たりですが、これに対する解決策はおそらくステップの組み合わせによるものであり、Spring Web-flow メカニズムによるものではないと思います

  • viewScope で最後に編集されたオブジェクトのインデックスを設定します
  • あなたのjspに、ローカルアンカーを置きます。たとえば、object0からobject20まで
  • 「onload」が場所を右のアンカーに変更するJavaScriptが少しあります:

    body onload="location.href = location.href + '#object8'"

これにより、サーバーに再度アクセスすることなく、8 番目の要素に移動できます。

于 2010-02-22T17:38:31.690 に答える
1

フォームを使用する場合、javascript を使用するよりも優れた解決策があります。

次のようなアンカーを使用できます。

<form action="${flowExecutionUrl}#position" method="POST" commandName="yourForm">

ワークフローでの属性の設定と組み合わせて:

    <transition on="save" to="yourViewState" >
        <set name="flowScope.isSaved" value="true" />
    </transition>

あなたのjspの上に:

<c:if test="${isSaved}">
    <a id="position"></a>
    Your thingy is saved.
</c:if>

したがって、保存アクションを送信すると、画面は自動的に「あなたのものが保存されました」というメッセージにジャンプします。

于 2012-12-06T12:34:27.040 に答える