1

JSFデータテーブルに、現在のデータ行の値へのバインディングを持つネストされたデータテーブルを使用して、バッキングされたBean値へのバインディングを実装しようとしています。次のコードを参照してください:

<h:form prependId="false">
    <h:dataTable  binding="#{tableBean.mainDataTable}" var="row" >
            <h:column>
                <h:dataTable binding="#{row.nestedDataTable}" />
            </h:column>
    </h:dataTable>
</h:form>

そして、これらはバッキングされた Bean とデータです。

@ManagedBean
@SessionScoped
public class TableBean implements Serializable{
    private HtmlDataTable mainDataTable;
    private List<TableBeanData> tableBeanDataLst;


    public TableBean() {
        tableBeanDataLst = new ArrayList<TableBeanData>();
        DataModel<TableBeanData> mainDataModel =new  ListDataModel<TableBeanData>(tableBeanDataLst);
        mainDataTable = new HtmlDataTable();
        mainDataTable.setValue(mainDataModel);
    }

    public HtmlDataTable getMainDataTable() {
        return mainDataTable;
    }

    public void setMainDataTable(HtmlDataTable mainDataTable) {
        this.mainDataTable = mainDataTable;
    }

    public List<TableBeanData> getTableBeanDataLst() {
        return tableBeanDataLst;
    }

    public void setTableBeanDataLst(List<TableBeanData> tableBeanDataLst) {
        this.tableBeanDataLst = tableBeanDataLst;
    }
}



public class TableBeanData implements Serializable{
     private HtmlDataTable nestedDataTable;

     public TableBeanData (){
         nestedDataTable = new HtmlDataTable();
     }
    public HtmlDataTable getNestedDataTable() {
        return nestedDataTable;
    }

    public void setNestedDataTable(HtmlDataTable nestedDataTable) {
        this.nestedDataTable = nestedDataTable;
    }
}

しかし、プロパティが見つからないという例外が発生します。

/index.xhtml @17,69 binding="#{row.nestedDataTable}": Target Unreachable, indentified 'row' resolved to null

コンストラクタでデータテーブルを初期化しているのでよくわかりません。

このタイプのエラーを解決して、テーブル、ネストされたテーブル、およびデータ バインディングの構成を許可するにはどうすればよいですか?

4

0 に答える 0