あなたのデザインを再考する必要があると思います。デフォルト値を入力しなくても問題があります。この擬似コードは、あなたのロジックとほぼ似ています。
//beans
SomeBean somebean = ...
DataModel model = ...
FilterBean filterbean = ...
//apply request values phase
for(int i=0; i<model.getRowCount(); i++) {
model.setRowIndex(i)
S s = model.getRowData()
//inputText's state is set to the submitted row state by the dataTable
Object submittedValue = inputText.getSubmittedValue()
somebean.mintmp = submittedValue
}
//invoke application phase
for(int i=0; i<model.getRowCount(); i++) {
model.setRowIndex(i)
S s = model.getRowData();
//commandButton's state is set to the submitted row state by the dataTable
if(commandButton.clicked()) {
filterbean.addProretryFilter(s.id, somebean.mintmp)
}
}
somebean
は常に最後の行の値が取り込まれます。
詳細については、JSF lifecycleおよびDataModelを参照してください。
これは、値が現在のデータテーブル行オブジェクトに依存するOPの場合は機能しません。 – BalusC
はい!それはまさに私が必要なものです。 – avgusti
@gbagga inputTextがdataTableの内部にある場合に、私たちの提案をどのように使用するかについてのサンプル(または単なるアイデア)を提供できますか? – avgusti