私はさまざまな要素を持つ顧客プロファイルページを作成しています。 h:selectOneMenu
,h:selectOneRadio
h:selectBooleanCheckbox
h:selectManyCheckbox
List<MasterDTO>
を使用してデータベースのマスター値を使用して入力します。ページが編集モードのとき、要素は完全に表示されます。ただし、ページを表示モードに変更すると、選択した項目ラベルが表示される代わりに、選択された項目値が表示されます。例えば。表示モードでSingle
をMarital Status
と表示する必要がありますが、代わりに001
と表示されます。表示項目ドロップダウンリスト、ラジオボタン、多くのチェックボックス、およびブール値の代わりにブール値のチェックボックスが表示されます。
以下のサンプルコードを参考にしてください。 List
オブジェクトをすべてのコードにわたってMap<K,V>
のように変更したくありません。私はJSF 2.0とPrimefaces 3.4.2を使用しています。これには解決策がありますか?
<h:selectOneMenu id="marital_status" style="width:178px;"
rendered="#{customerProfileBean.editMode}"
value="#{customerProfileBean.marital_status}">
<f:selectItem itemValue="-1" itemLabel="--- Select ---" />
<f:selectItems value="#{customerProfileBean.maritalStatusList}"
var="mst" itemLabel="#{mst.valueName}" itemValue="#{mst.valueCode}" />
</h:selectOneMenu>
<h:outputText rendered="#{not customerProfileBean.editMode}"
value="#{customerProfileBean.marital_status}" />
は多くのチェックボックス
<h:selectManyCheckbox id="loanTypes" styleClass="selectOptionSpace"
rendered="#{customerProfileBean.editMode}"
value="#{customerProfileBean.loanTypes}">
<f:selectItems value="#{customerProfileBean.creditFacList}"
var="mst" itemLabel="#{mst.valueName}" itemValue="#{mst.valueCode}" />
</h:selectManyCheckbox>
<h:outputText rendered="#{not customerProfileBean.editMode}"
value="#{customerProfileBean.custLoanType}" />
これはプライムフェイス関連ではありません。自分の例ではjsfを使うだけです。プライムフェイスはp:selectOneMenuとp:selectManyCheckboxです。あなたのプライムフェイスバージョンは完全に古くなっています。最新のコミュニティバージョンは6.0です。 – lastresort
maritalStatusListの項目のvalueNameプロパティに 'labels'があるようです。だから、marital_statusの値に基づいてこれを表示する単純なJavaのサイドメソッドは、あなたの問題を解決するだろう...効果的にもjsf relatead ... – Kukeltje