2010-12-27 4 views
0

「マルチフォームフォームと1つのサーブレット」シナリオを扱い、賛否両論について議論したいと思います。複数のフォームと1つのサーブレット - デザインの視点

AccountDetails.jsp:複数のフォームが含まれています UpdateAccountDetalsServlet:送信されたフォームに応じて、DAOメソッドを呼び出してデータベースを更新します。

ここで明白な解決策は、隠されたパラメータをサーブレットに渡して、どのフォームが送信されたかを判断することですが、これは正しく感じません。どうして?

フィードバックをお願いします。

ありがとうございました。

+0

関連:http://stackoverflow.com/questions/3541077/design-patterns-web-based-applications/ – BalusC

答えて

1

はい、問題ありません。

OperationType opType = OperationType.valueOf(request.getParameter("opType")); 

switch(opType) { 
    case SAVE.. 
    case DELETE.. 
} 

新しいモデルの前にSpring MVCを使用すると、マルチアクションコントローラを使用することができます。そこにmethod=saveのようなURLのパラメータを渡さなければなりませんでした。そして、あなたのオブジェクトに対してsave()メソッドが呼び出されました。これは実装することもできますが、リフレクションを含みます。

+0

ありがとうございます - 私は現在enumsを実際に使用しています。フォーム/アクションごとに1つのサーブレットの代わりにenumを使用しますか? –

+0

私は個人的にSpring MVCのようなWebフレームワークを使用します。しかし、もしそうでなければ、私はenumを使うでしょう。実際に - BalusCのリンクを見てください(http://stackoverflow.com/questions/3541077/design-patterns-web-based-applications/) – Bozho

+0

ありがとう –