多くの場合、表示モードと編集モードで利用できるはずのページがたくさんあります。さらに悪いことに、それらの一部のフィールドのみを編集できる場合があります。
このためのデザインパターンとベストプラクティスはありますか?1つの解決策は、2つのページを作成することです。1つは表示用、もう1つは編集用です。もう1つは、cssスタイルを適用して、すべての入力を通常の編集不可能なテキストのように見せることです。他にもっと良いものはありますか?
多くの場合、表示モードと編集モードで利用できるはずのページがたくさんあります。さらに悪いことに、それらの一部のフィールドのみを編集できる場合があります。
このためのデザインパターンとベストプラクティスはありますか?1つの解決策は、2つのページを作成することです。1つは表示用、もう1つは編集用です。もう1つは、cssスタイルを適用して、すべての入力を通常の編集不可能なテキストのように見せることです。他にもっと良いものはありますか?
私はあなたの2ページのアプローチには行きません。例を見てみましょう。ページには10個のフィールドがあります。さまざまな要求(たとえば、さまざまなユーザー権限、役割、またはその他の機能)に対して、さまざまな編集可能なフィールドのセットを含むページをレンダリングできます。
request1, field 1,2,3 should be editable
request2, field 2,3 should be editable
request3, field 3,6,7 should be editable
...
複数ページのアプローチでこれをどのように処理しますか?
編集可能として表示する必要のあるフィールド(名前など)を含むリストをサーバー側で作成します。
jspでフィールドを印刷するときに、フィールドがそのリストにあるかどうかを確認します。trueの場合は編集可能として表示し、そうでない場合は読み取り専用として表示します。
それが役に立てば幸い
このアプリケーションでは、ページのエディター要素に「読み取り専用」プロパティがあり、それに応じてDOMを変更します。したがって、コンポーネントが編集可能である場合は、 span
(またはコンポーネントが読み取り専用モードで使用するものは何でも)または要素を取得します。input
サーバーでは、これはDSLで制御されます。DSLは、編集するオブジェクトタイプ、表示できるフィールド、および各フィールドのモードを定義します。
アプリ全体はZKに基づいています。これにより、JavaコードからDOMの一部を非常に簡単に置き換えることができます。