私たちはJSFを初めて使用し、次の問題に苦しんでいます。
ユーザーがボタンをクリックして詳細ページに移動できる検索ページがあります。この詳細ページに到達すると、選択したレコードが正しく表示されます。
ユーザーが値を編集すると、バリデーターが起動します。カスタムバリデーターは2つのことをチェックします。-レコードがすでにDBにある場合(一意)-値が空でない場合
ユーザーが現在の値を空の文字列に削除して送信すると、バリデーターは値を空にすることは許可されていないと言います。
ユーザーが値を前の値に戻し、送信すると、バリデーターは現在の値を検証して検索ページに戻る必要があります。
ここでの問題は次のとおりです。使用する場合:
<h:outputLabel value="Supplier Id" />
<h:outputLabel value="#{flash.keep.supplier.id}" />
すべてが機能します。ただし、ユーザーからIDを非表示にし、非表示フィールドを使用したいと思います。
outputLabelを削除し、以下を使用する場合:
<h:inputHidden value="#{flash.keep.supplier.id}" />
このアプリケーションは、既存のサプライヤを同じ名前で保存するのではなく、新しいサプライヤを挿入しようとしていると見なします。
NetBeans開発環境でJSF2.0、GlassFishServer3.1.2を使用しています。
BeanはRequestScopedです
ソースコードは https://bitbucket.org/dasdan20/timereg4wb-webで入手できます。
ビューは次のとおりです。Web/suppliers/ search.xhtml Web / supliers / addedit.xhtml
Beanとバッキングコード:src / task / SupplierTask.java src / task.validation / SupplementerUniqueValidator src / domain / Supplementer.java
DBバックエンドはMySQLです。DBのバックアップはsrc/MySQLDatabaseにあります。
前もって感謝します
K&K