2017-07-08 14 views
0

サービスプロバイダを表すオブジェクトがあります。そのオブジェクトには、私は、このハッシュマップJSFまたはPrimefacesデータテーブルでハッシュマップを編集

private Map<MetaDataKeys, String> metaData; 

「MetaDatatKeys」はこのようになります列挙型である必要があり、

public enum MetaDataKeys { 
    PROVIDER_NAME, PROVIDER_CONTACT_NAME, PROVIDER_SERVICE_RADIUS; 
} 

私はDataTableのかについても同様にハッシュマップのキー/値のペアを表示したいと思います

"editUser"はマップを含むオブジェクトです。

これについてはどのような方法が最適ですか?私はテーブルをレンダリングして値を取り込むことさえ成功していません。ほとんどの例の検索では、キーに文字列またはプリミティブを使用します。

答えて

1

あなたは、より良い方法ですMap.entrySet()によってデータテーブルの反復を行う必要があります。 Map.keySet()で反復しようとすると、キーで値を取るよりO(n^2)を取ることができます。あなたはあなたに感謝し、あなたは私がまさに必要Primefaces show case

+0

で見つけることができます。このコンポーネントについてp:cellEditorの詳細情報を使用することができますテーブルの行を編集するには

<p:dataTable id="providerDatatable" var="infoMap" value="#{editUserBean.editUser.metaData.entrySet()}"> <p:column><h:outputText value="#{infoMap.key}"/></p:column> <p:column><h:inputText value="#{infoMap.value}"/></p:column> </p:dataTable> 

:あなたのタスクの実現に向けて

は次のようになります! – JHRS

関連する問題