1

少し背景: 既存の Spring Webflow を ajax 化して、ページを (別の URL の) 「ライトボックス」に表示して、ユーザーが完全なフローと同様の方法でフローを操作できるようにします。既存のページ。

通常の登録フォームは次の場所にあります。

http://localhost:8080/csso/customer/registration?execution=e1s1. 

(csso はアプリケーション名)

Spring Webflow の Webflow の ID は /customer/registration です。

 <flow-registry id="flowRegistry" flow-builder-services="flowBuilderServices">
            <flow-location id="customer/registration" path="/WEB-INF/views/customer/registration/registration-flow.xml"/>
  </flow-registry>

登録フロー.xml

<view-state id="create" model="customer" view="customer/registration/create">
        <on-render> 
            <evaluate expression="customer.setAcceptTermsAndConditions(false)"/>
        </on-render>
        <transition on="submit" to="confirm" />
        <transition on="cancel" to="cancel" bind="false" />
    </view-state>

ここでの問題は、このページに 2 つの異なる方法でアクセスする必要があることです。

  1. 直接。これは現在動作します。
  2. フォームの流れが中断されないように、別の JSP ページ (コントローラー /tabEntry でアクセスされる tabEntry.jsp) にインクルードします。

送信のクリックが同じフローを通過するように、/customer/registration を tabEntry 内に含めるにはどうすればよいですか?

直面した問題:

  1. /customer/registration はコントローラではないため、jsp:include による /customer/registration のインクルードは機能しません。また、/customer/redirection への呼び出しには Webflow の実行キーを設定するリダイレクトが含まれているため、@include は機能しません。

    1. フォーム アクションは自動的に /tabEntry に設定されますが、フローを続行するには /customer/registation の 2 番目の状態に設定する必要があります。

技術的に叩くのではなく、喜んでデザインの変更を受け入れます。

4

0 に答える 0