問題タブ [selectonemenu]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1930 参照

datatable - h:dataTable に配置した場合の h:selectOneMenu のデフォルト値の問題

に問題がありh:selectOneMenuます。入れるとh:dataTable、デフォルト値を設定できません。これはコードです:

私がすべての作品の外に移動した場合h:form。私はglassfish3でjsf2.0を使用していますselectOneMenuh:dataTable

何か案は?

0 投票する
1 に答える
8292 参照

jsf - ice:SelectOneMenu でのリスト項目の設定

リストからicefacesのselectonemenuに項目を設定したいと思います。しかし、同じことをすると、次のエラーが発生します: java.lang.ClassCastException: cannot be cast to javax.faces.model.SelectItem

はエンティティ クラスです。

助けてください。

0 投票する
2 に答える
16733 参照

jsf - 値としてラベルを使用するnoSelectionOptionを持つJSFSelectOneMenu?

「新規ユーザーの作成」jsfページに、カスタムコンバーターを備えたSelectOneMenuと次のようなnoSelectionOption selectItemがあります:(無関係なコードは省略)

NewUser.xhtml

NewUserController.java

DepartmentConverter.java

すべてのエンティティ用のスーパーコンバータ

}

ただし、[部門の選択]オプションを選択してフォームを投稿すると、ラベルがnullではなくgetAsObjectに送信されるため、コンバーターはgetKeyで例外をスローします(IDを含む文字列をに変換しようとします)平行)。selectItemのitemValue属性をnullに設定しても効果はありません。コレクションのアイテムは、それ以外の場合はコンバーターで完全に機能します。誰かがこれを引き起こしているものについて何か考えがありますか?

更新私が言及するのを忘れた興味深いこと。SelectOneMenuからコンバーター属性を削除すると、noSelectionAttributeは正常に機能しますが、デフォルトのコンバーターはオブジェクトの変換方法を認識していないため、代わりに実際の部門を選択できません。これは、noSelectionOption = trueが代わりにそのラベルを送信するように想定されており、コンバーターが何らかの形でそれを処理することを期待されていることを意味しますか?

0 投票する
2 に答える
60040 参照

jsf - 'nullConverter'の変換エラー設定値-JSFにコンバーターが必要なのはなぜですか?

JSF2でPOJO/entityを使用して選択を効果的に使用する方法を理解するのに問題があります。たとえばWarehouse、以下のドロップダウンからエンティティを選択しようとしています。

そして、以下のマネージドBean:

Warehouseエンティティ全体をの値として使用していることに注意してくださいSelectItem

フォームを送信すると、次のメッセージが表示されて失敗します。

'nullConverter'の変換エラー設定値'com.example.Warehouse@cafebabe'。

Warehouseでラップすると、JSFがマネージドBeanに正しいオブジェクトを設定できることを期待していましたSelectItem。エンティティを内にラップすることは、エンティティSelectItemの作成をスキップすることを意味していましたConverter

Converter自分のエンティティを利用したいときはいつでも本当に使用する必要があり<h:selectOneMenu>ますか?JSFの場合、使用可能なアイテムのリストから選択したアイテムを抽出するだけでよいはずです。本当にコンバーターを使用する必要がある場合、それを行う実際的な方法は何ですか?これまでのところ、私はこれに行き着きました:

  1. Converterエンティティの実装を作成します。
  2. をオーバーライドしgetAsString()ます。SelectItemドロップダウンオプションのラベルを表示するためにのlabelプロパティが使用されるため、これは必要ないと思います。
  3. をオーバーライドしgetAsObject()ます。SelectItemこれは、管理対象Beanで定義されている選択されたフィールドのタイプに応じて、正しいエンティティまたはエンティティを返すために使用されると思います。

getAsObject()混乱します。これを行うための効率的な方法は何ですか?文字列値がある場合、関連付けられたエンティティオブジェクトを取得するにはどうすればよいですか?文字列値に基づいてサービスオブジェクトからエンティティオブジェクトをクエリし、エンティティを返す必要がありますか?または、おそらくどういうわけか、選択項目を形成するエンティティのリストにアクセスし、それらをループして正しいエンティティを見つけ、エンティティを返すことができますか?

これの通常のアプローチは何ですか?

0 投票する
2 に答える
9018 参照

jsf - JSF selectOneMenu が更新され、新しい値を表示するのではなく、以前の状態に戻る

たとえば、selectOneMenu コンボが 1 つある 10 項目など、多くの selectOneMenu 項目が利用可能なデータテーブルがあります。コンボのいずれかをクリックすると、値がデータベースに保存され、それが実行されます。しかし、変更された値を保存した後、selectOneMenu は以前の状態に戻ります。selectOneMenu が現在の状態を維持するようにします。また、データテーブル内のすべてのコンボに対してメソッドが呼び出されています。なぜだろう!私は過去2週間頭を叩いています。どんな助けでも本当に感謝します。前もって感謝します。

これは私の最初の投稿です。これは私のjsfデータテーブルです:

これは私のBeanコードです:

0 投票する
1 に答える
4867 参照

jsf - selectOneMenu のオプションを変更せずに、送信時に valueChangeListener が呼び出される

私のページにはselectonemenuがあり、データテーブルのページネーションをクリックすると、selectonemenuの値やオプションを実際に変更せずにvalueChangeListenerメソッドが呼び出されることに気付きました。

ユーザーがselectonemenuの値を変更した場合にのみvalueChangeListenerメソッドを呼び出す必要があるため、これはどのように発生し、どうすればこれを防ぐことができますか?

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

よろしく

これがselectonemenuの私のコードです

アップデート1

そしてビーンメソッド

値は次のように追加されます

そして、メソッドは次のように呼び出されます

0 投票する
1 に答える
3039 参照

validation - ドロップダウンでの選択を変更するときに、入力フィールドの required=true 制約を避ける

ドロップダウンとその横にテキスト フィールドがあります。ドロップダウンで選択した値に基づいて、日付、整数、テキストに変更するなど、テキスト フィールドのタイプを変更しています。これらのテキスト フィールドでは、required 属性が true に設定されています。

そのため、ドロップダウンで別の値を選択すると、テキスト フィールドのタイプを変更できますが、テキスト フィールドに必要なエラー メッセージも表示されます。どうすればこれを回避できますか?

JSF 1.2 を使用しています。

0 投票する
1 に答える
902 参照

java - プロパティファイルに基づいてSelectItemをレンダリングする

いくつかのselectItemを含むselectOneRadioメニューがあります。プロパティファイルに基づいて選択肢を表示したいと思います。たとえば、店舗にクレジットカードリーダーがない場合、クレジットオプションは表示されません。表示されるものと表示されないものを指定するconfig/propertiesファイルが必要です。

それを達成する方法はありますか?プロパティファイルをバッキングBeanに読み込んでから、「rendered」属性のようなものを用意する必要があると思います。ただし、試したところ、selectItemで「rendered」が機能しないようです。

0 投票する
3 に答える
76646 参照

jsf - のデフォルト選択以内に

<f:selectItem>内でデフォルトの選択を行う方法は<h:selectOneMenu>

ページが読み込まれるときに、ドロップダウンの特定の「20」項目がすでに選択されている必要があります。

これらの4つは機能しません:

0 投票する
1 に答える
31224 参照

ajax - PrimeFaces p:ajax event="change"は動的に作成されたselecOneMenuコンテンツでは発生しません

ユーザーがinputTextフィールドに入力したときに、selecOneMenuコンテンツを生成し、コンボボックスの選択の変更に応答したいと思います。
以下のコードは、ユーザーが入力すると、selecOneMenuの内容を更新します。(入力された数字と次の9つの数字がコンボボックスに追加されます。これは単純化されたサンプルコードです。)
ページが読み込まれると、selecOneMenuのchangeイベントが正しく発生します。ただし、inputValueフィールドに入力した後、selecOneMenuのコンテンツが変更され、アイテムを選択してもchangeイベントが発生しません。

ComboBeanがセッションスコープの場合、コードは機能しますが、可能であればこのソリューションは避けたいと思います。

これを行うことはまったく可能ですか?
リクエストスコープで不可能な場合の理由は何ですか?

PrimeFaces 2.2
Mojarra 2.0.2
GlassFish 3.0.1
ブラウザ:Chrome、Firefox、IE

combo.xhtml:

ComboBean.java