inputtext、selectonemenuなどのprimefacesウィジェットにハッシュマップのコンテンツを表示するのに苦労しています.
hasmaps を定義しました
private Map<String, String> subIdMap = new HashMap<String, String>();
private Map<String, Map<String, String>> dataMap = new HashMap<String, Map<String, String>>();
// それらのゲッターとセッター。
SubIdMap にはキーと値が含まれています
ID 001 の場合
private Map<String, String> subIdMap = new HashMap<String, String>();
subIdMap.put("id", "001");
subIdMap.put("name", "Alexender");
subIdMap.put("age", "24");
subIdMap.put("sex", "Male");
subIdMap.put("country", "Greece");
ID = 002 の場合
private Map<String, String> subIdMap = new HashMap<String, String>();
subIdMap.put("id", "002");
subIdMap.put("name", "John");
subIdMap.put("age", "25");
subIdMap.put("sex", "Male");
subIdMap.put("country", "US");
dataMap は、ID をキーとして、subIdMap を値として持つマップです。
private Map<String, Map<String, String>> dataMap = new HashMap<String, Map<String, String>>();
dataMap.put("001", subIdMap);
or
dataMap.put("002", subIdMap);
ユーザーが id 001 をクリックすると、id = 001 または id = 002 のデータが bean から取得され、xhtml ページに表示されるページがあります。xhtml ページのフィールドに Map からのデータを表示できません
スニペット
@ManagedBean(name = "sampleBean")
@ViewScoped
public class SampleBean implements Serializable{
private Map<String, String> subIdMap = new HashMap<String, String>();
private Map<String, Map<String, String>> dataMap = new HashMap<String, Map<String, String>>();
public SampleBean() {
subIdMap.put("id", "001");
subIdMap.put("name", "Alexender");
subIdMap.put("age", "24");
subIdMap.put("sex", "Male");
subIdMap.put("country", "Greece");
dataMap.put("001",subIdMap);
}
/**
* @return the subIdMap
*/
public Map<String, String> getSubIdMap() {
return subIdMap;
}
/**
* @param subIdMap the subIdMap to set
*/
public void setSubIdMap(Map<String, String> subIdMap) {
this.subIdMap = subIdMap;
}
/**
* @return the dataMap
*/
public Map<String, Map<String, String>> getDataMap() {
return dataMap;
}
/**
* @param dataMap the dataMap to set
*/
public void setDataMap(Map<String, Map<String, String>> dataMap) {
this.dataMap = dataMap;
}
}
xhtml ページ
<p:inputText id="textId" value="............." />
<p:selectOneMenu id="selectId" value="................" />
ここで道順が必要です。