В зависимости от вашей модели здесь, я думаю, вы можете захотеть сделать намного больше работы с компонентом поддержки, а не пытаться заставить его работать на реальной странице JSF.
Вы можете просто привязать таблицу кbean как
<h:dataTable binding="#{myBean.dataTable}" />
//BEAN
HtmlDataTable dataTable;
public DataTable getDataTable()
{
dataTable = new HtmlDataTable(); //etc...
//add the columns here based on the logic in code
}
, а затем фактически выполняет рендеринг внутри bean-компонента путем динамического добавления компонентов и т. д. Если вы хотите отделить модель и вам нужна страница, которая должна быть очень управляемым bean-компонентом, тогдаПриведенные выше ответы действительно больше того, что вы ищете.
В качестве альтернативы, как предложено, просто используйте отображаемое свойство и проверьте имя класса (остерегайтесь нулевых указателей).Я делаю оба на регулярной основе, это действительно зависит от того, насколько сложная логическая логика у меня будет в реальном JSF.