3
私はJSPとサーブレットを使って最初のステップを踏んでおり、おもちゃプロジェクトを構築しています。ユーザーが登録するときJSP/Servletで再利用可能で柔軟なフォームコンポーネントを作成する正しい方法は何ですか?
- :ユーザーの詳細を更新することができます3回があり、プロジェクトのユーザー管理部では
- 私は、次のような問題を解決するための適切なアプローチを見つけ出すことができませんでしたサイト(空の登録フォーム)
- ユーザーの更新が詳細(既存の詳細を含むフォーム)を所有して
- 管理者は、ユーザーの詳細情報(詳細といくつかの追加オプションを使用してフォーム)
私はこれらのページを作成するための3つの方法を考えることができます:恐ろしくDRY法律に違反しますが、離れてHTMLとロジックを維持、それぞれのケースごとに異なるJSPファイルを作成します
- 。
- 適切な方法で、サーブレットまたはカスタムタグでフォームのHTMLを生成させます。これは、Javaコード内にたくさんのHTML(?)があることを意味します。
- Javaロジックを単一のJSPに配置すると、コンテキストに応じてフォームのコンテンツが処理されます。これは、JSP内のJavaコードの大部分(?)を意味します(大部分は
if
、フィールドと値を省略または含む)。
これらの問題を解決する一般的な方法は何ですか?
問題は、フォームのコンテンツ(多少)がコンテキストに依存するため、そのままでは含めることができないということです。あるケースでは空のフォームが必要で、別のフォームには既存の値が含まれている必要があります。しかし、多くは共有されているので、コードの再利用が必要ですが、HTMLとJavaの分離が問題です。 – eran
@eran:この目的でJSTLを使用できます。 Beanを作成し、それがどのページであるかを示す定数を割り当て、JSTL「」または他の条件タグを使用して対応する部分を表示します。オプションの表示/非表示も可能です。このように、既存の値を持つテキストボックスなど、要素を設定するかどうかを選択することもできます。しかし、要素が異なっている場合や、各ページで異なる要素をレンダリングしたい場合は、別々のページで行う必要があります。私の個人的な経験から –
私はクリーンなコードを確保するJSPページを別にしたいと思います。 Separation of Concernの原則に従ったければ、JSPページと別のロジックを分離すると助けになるかもしれません。 @ Sayemあなたはそれについてどう思いますか? –