我正在创建一个显示任务的dataTable。我只想在每个页面中有8个任务,而且我想要过滤完成后显示的任务,而不是完成。
我已经实现了这两件事,并且它们都是分开的,但是当我加入它们时会抛出异常:
java.lang.IllegalStateException:CDATA标记可能无法嵌套
以下是dataTable的代码:
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui"
template="/templates/template-usuario.xhtml">
<ui:define name="cuerpo">
<h:form id="formTareas">
<p:dataTable id="tablaTareas" var="tarea" value="#{controller.tasks}"
border="1" selection="#{controller.selectedTasks}"
widgetVar="tasksTable" rowKey="#{tarea.id}" rows="8"
paginator="true">
<p:column selectionMode="multiple"
style="width:16px;text-align:center" />
<p:column>
<f:facet name="header">#{msgs.titulo}</f:facet>#{tarea.title}</p:column>
<p:column>
<f:facet name="header">#{msgs.comentario}</f:facet>#{tarea.comments}</p:column>
<p:column>
<f:facet name="header">#{msgs.fechaCreacion}</f:facet>#{tarea.created}</p:column>
<p:column>
<f:facet name="header">#{msgs.fechaPlanificacion}</f:facet>#{tarea.planned}</p:column>
<p:column filterBy="#{tarea.finished==null}"
headerText="#{msgs.fechaFinalizacion}" filterMatchMode="equals">
<f:facet name="filter">
<p:selectOneButton onchange="PF('tasksTable').filter()">
<f:converter converterId="javax.faces.Boolean" />
<f:selectItem itemLabel="All" itemValue="" />
<f:selectItem itemLabel="Not Finished" itemValue="true" />
</p:selectOneButton>
</f:facet>
<h:outputText value="#{tarea.finished}" />
</p:column>
<p:column>
<f:facet name="header">#{msgs.fechaFinalizacion}</f:facet>#{tarea.finished}</p:column>
<p:column>
<f:facet name="header">#{msgs.categoria}</f:facet>#{tarea.categoryId}</p:column>
</p:dataTable>
</h:form>
</ui:define>
</ui:composition>