<p:dataTable>
各行に次のようなinputTextがある場所があります。
<p:dataTable ... rowIndexVar="row">
<p:column>
<p:inputText value="#{myBean.items[row + 1]}" />
</p:column>
</p:dataTable>
items
プロパティは次のとおりMap<Long, String>
です。
private Map<Long, String> items = new HashMap<Long, String>();
いくつかのデータを送信し、マップを手動で反復処理すると、明らかに機能します。
Iterator itr = items.entrySet().iterator();
while (itr.hasNext()) {
Map.Entry e = (Map.Entry) itr.next();
System.out.println("key: " + e.getKey() + " " + "value: " + e.getValue());
}
私は得る:
キー: 1 値: item1 キー: 2 値: item2 キー: 3 値: item3 キー: 4 値: item4
ただし、特定のアイテムをキーで取得しようとすると
String item = items.get(1);
それから私は得るnull
。マップのコンテンツに基づいて、 を取得する必要がありますitem1
。これはどのように発生し、どうすれば解決できますか?