最初に言いたいのは:
- How to use JSF's h:selectBooleanCheckbox with h:dataTable to create one object per row?を見ました 私の問題は同じですが、解決されていません。
以下は私のコードです:
*.xhtml
<rich:column>
<h:selectBooleanCheckbox id="resolveTxn" value="#{verifyTransactionBean.checked[verifyTxnList.id]}"/>
</rich:column>
.
.//Some code here
.
<h:commandButton value="Resolve" action="#{verifyTransactionBean.resolveToTxn}" styleClass="btn" />
以下は私のコードです
private Map<Long, Boolean> checked = new HashMap<Long, Boolean>();
public void resolveToTxn() {
List<ToVerifyTxnDTO> list = new ArrayList<ToVerifyTxnDTO>();
for (ToVerifyTxnDTO dTO : toVerifyTxnDTOList) {
if(checked.get(dTO.getId())){//I got null pointer exception here
Long id=dTO.getId();
verifyTransactionSessionBeanLocal.updateResolvedflag(id);
}
}
}
私がしたいこと ?
次のパラメータとしてチェックされた行IDを渡したい:
verifyTransactionSessionBeanLocal.updateResolvedflag(id);
ボタンをクリックした後、何らかの操作を行い、同じページResolve
を更新して表示する必要があります。dataTable
操作はできているがnull pointer exception
、同じページを表示(赤化)しながら取得
ありがとう