6

<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。これはどのように発生し、どうすれば解決できますか?

4

1 に答える 1