2011-02-08 7 views
0

今日は春にこの事をやっていた:パターン

  • は、フォームとフォームに関連した1つの項目を選択する機会を持つページを持っています。
  • 「項目を選択」を押すと、アプリはフォームに入力した内容を何らかの形で保存し、別のページに移動してその項目を選択できるようにします。
    • フォームに戻ると、フォームには、他のページに行く前に書いた内容と、選択した項目が表示されます。

は簡単なようだが、あなたは、いくつかの愚かな理由のために、ユーザは、彼が戻るボタンを押すか、ので、あなたは多分理由しおりの(項目を選択ページを開くことができることを考慮に入れる必要があり10再生する時間)。私の言っていることが分かるよね。私は主にHttpSessionに基づいて、多くの方法を試してみました...私はそれらのいずれかが好きではありません。それらのどれもエレガントに見えません。私は他のページで隠しフォームを使用することを考えていましたが、この「フロー」に固有のものではないので(他のページからもアイテムを選択することができます)、競合について心配する必要があります等々。

あなたにはどのような方法が適していますか?提案?

+0

Skaffmanへのリンクである、あなたはいつも私の英語を修正....それが悪いということである:D ?? – gotch4

答えて

4

問題を解決する代わりに回避してください。 モーダルのjavascript divポップアップを使用して、ユーザーが希望するアイテムを選択することができます。このdivの内容は、ajax(Http GETで呼び出された別のSpring MVCコントローラ)経由でロードされたになることができます。選択が完了したら、ポップアップを閉じ(divを非表示にする)、値を元のフォームにコピーします。完了しました。

ステートはどこにも保存する必要はありません。

+0

これはおそらく最良の解決策です。私はこれについて考えて、その使い方を知っています。しかし、私は他の状況のた​​めに良いパターンを得たいと思っています。私はこれほど多くのWebアプリケーションで見ました。 – gotch4

+0

さて、Spring WebFlowは、サブフローのコンセプトをサポートしています。サブフローは、現在のフローを一時停止し、その後にリターンします。しかし、これは私が上で提示した単純な解決策に比べて、過剰な過剰です。 –

1

私はSpring Web Flowを推奨します。ここで

 Spring Web Flow compliments the Spring MVC. 

Spring Web Flow Demo