Связывание простых чисел dataTable с помощью org.primefaces.component.datatable.DataTable; - PullRequest
3 голосов
/ 23 марта 2012

У меня есть вопрос, касающийся компонента данных простых чисел.Я хочу связать переменную DataTable с p: dataTable, чтобы иметь возможность программно манипулировать первым, rowds, rowPerPageTemplate и т. Д. Из компонента поддержки.Но я застрял и продолжаю получать java.lang.String не может быть приведен к javax.faces.component.UIComponent.

Вот мое объявление p: dataTable.

<p:dataTable id="dtProductCategoryList" value="#{saProductCategoryController.saproductcategories}" rowsPerPageTemplate="#{appConfig.rowsPerPageTemplate}" 
                             paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}" 
                             currentPageReportTemplate="{currentPage} #{bundle.DataTablePageSeparator} {totalPages}"
                             paginatorAlwaysVisible="false" var="item" paginator="true" rows="#{appConfig.rowsPerPageDefault}"
                             binding="saProductCategoryController.dtProductCategory">

А вот моеViewScoped поддерживающий боб.

    private DataTable dtProductCategory;

/** Creates a new instance of saProductCategoryController */
public SaProductCategoryController() {
}

@PostConstruct
public void Init() {
    try {
        dtProductCategory = new DataTable();
        //dtProductCategory.
        saproductcategories = saProductCategoryFacade.selectAll();            
        LogController.log.info("Creating postconstruct for saProductCategoryController");
    } catch (Exception ex) {
        LogController.log.fatal(ex.toString());
    }
}

В чем может быть проблема?Кажется, что переменная DataTable ошибочно принята за строку?

Цените всю вашу помощь.Спасибо.

Ответы [ 2 ]

5 голосов
/ 23 марта 2012

java.lang.String не может быть приведен к javax.faces.component.UIComponent.

Атрибут binding должен ссылаться на UIComponent, а не на простую ваниль String. И действительно, вы забыли #{} вокруг значения атрибута, из-за чего его следует рассматривать как простой ваниль String.

Исправьте это соответствующим образом:

binding="#{saProductCategoryController.dtProductCategory}"
2 голосов
/ 23 марта 2012

Заменить

binding="saProductCategoryController.dtProductCategory"

с

binding="#{saProductCategoryController.dtProductCategory}"
...