2012-03-23 2 views
3

У меня возник вопрос о компоненте, относящемся к компонентам. Я хочу привязать переменную DataTable к p: dataTable, чтобы я мог манипулировать первым, строками, rowsPerPageTemplate и т. Д. Программным способом из бэк-компонента. Но я застрял и продолжаю получать java.lang.String не может быть передан javax.faces.component.UIComponent.Связывание правлений dataTable с org.primefaces.component.datatable.DataTable;

Вот моя заявка 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 ошибочна для строки?

Цените всю свою помощь. Благодарю.

ответ

5

java.lang.String нельзя отнести к javax.faces.component.UIComponent.

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

Фикс его соответствующим образом:

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

OMG мои глаза покосился уже. Благодаря BalusC. – frazkok

2

Заменить

binding="saProductCategoryController.dtProductCategory" 

с

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

Спасибо Мэтт. Понял. Слишком много кода, и я пропускаю очевидное. благодаря – frazkok

Смежные вопросы