2016-12-21 7 views
0

私はさまざまな要素を持つ顧客プロファイルページを作成しています。 h:selectOneMenu,h:selectOneRadioh:selectBooleanCheckboxh:selectManyCheckboxList<MasterDTO>を使用してデータベースのマスター値を使用して入力します。ページが編集モードのとき、要素は完全に表示されます。ただし、ページを表示モードに変更すると、選択した項目ラベルが表示される代わりに、選択された項目値が表示されます。例えば。表示モードでSingleMarital 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}" /> 
+2

これはプライムフェイス関連ではありません。自分の例ではjsfを使うだけです。プライムフェイスはp:selectOneMenuとp:selectManyCheckboxです。あなたのプライムフェイスバージョンは完全に古くなっています。最新のコミュニティバージョンは6.0です。 – lastresort

+0

maritalStatusListの項目のvalueNameプロパティに 'labels'があるようです。だから、marital_statusの値に基づいてこれを表示する単純なJavaのサイドメソッドは、あなたの問題を解決するだろう...効果的にもjsf relatead ... – Kukeltje

答えて

0

を選択して1つのメニューを選択するには、primefacesコントロールすなわちで​​コントロールを置き換え。 p:selectOneMenup:selectManyCheckboxは、コードの代わりに値を表示するという問題を修正しました。

関連する問題