带有primefaces dataTable的java.lang.IllegalArgumentException jsf复合组件
中文:java.lang.IllegalArgumentException jsf复合组件与primefaces dataTable 葡萄牙语:java.lang.IllegalArgumentException组件componente composto jsf com数据表do primefaces tabela-padrao.xhtml带有primefaces dataTable的java.lang.IllegalArgumentException jsf复合组件,java,jsf,primefaces,jsf-2,Java,Jsf,Primefaces,Jsf 2,中文:java.lang.IllegalArgumentException jsf复合组件与primefaces dataTable 葡萄牙语:java.lang.IllegalArgumentException组件componente composto jsf com数据表do primefaces tabela-padrao.xhtml <html xmlns="http://www.w3.org/1999/xhtml" xmlns:cc="http://xmlns.jcp.org
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:cc="http://xmlns.jcp.org/jsf/composite"
xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:p="http://primefaces.org/ui"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:h="http://xmlns.jcp.org/jsf/html">
<!-- INTERFACE -->
<cc:interface>
<cc:attribute name="uniqueId" required="true" />
<cc:attribute name="value" required="true" />
<cc:attribute name="var" required="true" />
<cc:attribute name="selection" required="true" />
<cc:attribute name="exportedFileName" required="true" />
<cc:attribute name="renderedTable" default="true"/>
<cc:attribute name="primaryKey" required="true"/>
<cc:clientBehavior name="customRowSelectEvent" targets="#{cc.attrs.uniqueId}" event="rowSelect" />
<cc:clientBehavior name="customRowUnselectEvent" targets="#{cc.attrs.uniqueId}" event="rowUnselect" />
</cc:interface>
<!-- IMPLEMENTATION -->
<cc:implementation>
<p:dataTable value="#{cc.attrs.value}"
id="#{cc.attrs.uniqueId}"
scrollable="true"
scrollWidth="100%"
var="#{cc.attrs.var}"
rendered="#{cc.attrs.renderedTable}"
selection="#{cc.attrs.selection}"
rowKey="#{cc.attrs.primaryKey}"
selectionMode="single"
paginator="true"
rowsPerPageTemplate="15,30,45"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown} {Exporters}"
emptyMessage="#{bundle.tabela_nenhum_registro_encontrado}">
<cc:insertChildren/>
<f:facet name="{Exporters}">
<h:commandLink style="padding: 5px 5px 5px 5px ;" title="Converter para Excel" >
<h:outputText styleClass="fa fa-file-excel-o Fs20"/>
<p:dataExporter type="xls" target="#{cc.attrs.uniqueId}" fileName="#{cc.attrs.exportedFileName}" />
</h:commandLink>
<h:commandLink style="padding: 5px 5px 5px 5px ;" title="Converter para PDF" >
<h:outputText styleClass="fa fa-file-pdf-o Fs20"/>
<p:dataExporter type="pdf" target="#{cc.attrs.uniqueId}" fileName="#{cc.attrs.exportedFileName}"/>
</h:commandLink>
</f:facet>
</p:dataTable>
</cc:implementation>
使用component/Usando component
<h:form id="tabela-municipio">
<ezcomp:tabela-padrao value="#{municipioMB.listaMunicipios}"
uniqueId="id-tabela-municipio"
var="mun"
primaryKey="#{mun.id}"
selection="#{municipioMB.municipio}"
exportedFileName="municipios">
<p:ajax event="customRowSelectEvent" listener="#{municipioMB.onRowSelect}" update="@(form[id*='frm-municipio']),@(form[id*='tabela-municipio'])" />
<p:ajax event="customRowUnselectEvent" listener="#{municipioMB.onRowUnselect}" update="@(form[id*='frm-municipio']),@(form[id*='tabela-municipio'])" />
<p:column headerText="Pais" width="300" filterBy="#{mun.estado.pais.nome}" filterMatchMode="contains">
<h:outputText value="#{mun.estado.pais.nome}"/>
</p:column>
<p:column headerText="Estado" width="300" filterBy="#{mun.estado.sigla} - #{mun.estado.nome}" filterMatchMode="contains">
<h:outputText value="#{mun.estado.sigla} - #{mun.estado.nome}"/>
</p:column>
<p:column headerText="Município" filterBy="#{mun.nome}" filterMatchMode="contains">
<h:outputText value="#{mun.nome}"/>
</p:column>
</ezcomp:tabela-padrao>
我得到了这个例外/Ocorreu esta excção
广告:StandardWrapperValve[FacesServlet]:Servlet的Servlet.service()引发异常
java.lang.IllegalArgumentException
位于javax.faces.component.UIData.setValueExpression(UIData.java:804)
在com.sun.faces.facelets.tag.jsf.ComponentRule$ValueExpressionMetadata.applyMetadata(ComponentRule.java:107)上
位于com.sun.faces.facelets.tag.MetadataImpl.applyMetadata(MetadataImpl.java:81)
位于javax.faces.view.facelets.MetaTagHandler.setAttributes(MetaTagHandler.java:129)
位于javax.faces.view.facelets.DelegatingMetaTagHandler.setAttributes(DelegatingMetaTagHandler.java:102)
位于com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.doNewComponentActions(ComponentTagHandlerDelegateImpl.java:491)
位于com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:178)
位于javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
位于com.sun.faces.facelets.tag.composite.ImplementationHandler.apply(ImplementationHandler.java:81)
在javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)
位于com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:93)
位于com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:87)
位于com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:312)
位于com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:371)
位于com.sun.faces.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:326)
位于com.sun.faces.facelets.tag.jsf.CompositeComponentTagHandler.ApplyCompositeComponentTagHandler(CompositeComponentTagHandler.java:387)
位于com.sun.faces.facelets.tag.jsf.CompositeComponentTagHandler.ApplyNext Handler(CompositeComponentTagHandler.java:188)
位于com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:202)
位于javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
位于javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)
位于com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:202)
位于javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
在javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)
位于com.sun.faces.facelets.tag.ui.DefineHandler.applyDefinition(DefineHandler.java:106)
位于com.sun.faces.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:206)
位于com.sun.faces.facelets.impl.DefaultFaceletContext$TemplateManager.apply(DefaultFaceletContext.java:395)
位于com.sun.faces.facelets.impl.DefaultFaceletContext.includeDefinition(DefaultFaceletContext.java:366)
位于com.sun.faces.facelets.tag.ui.InsertHandler.apply(InsertHandler.java:111)
在javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)
位于javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)
位于com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:202)
位于javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
在javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)
位于com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:93)
位于com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:87)
位于com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:312)
位于com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:371)
位于com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:350)
位于com.sun.faces.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:199)
位于com.sun.faces.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:174)
位于com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:93)
位于com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:87)
在com.sun.faces.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:161)上
位于com.sun.faces.application.view.FaceletViewHandlingStrategy.buildView(FaceletViewHandlingStrategy.java:1006)
位于com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:99)
位于com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
在com.sun.faces.lifecycle.LifecycleImpl.render上(LifecycleImpl.java:219)
位于javax.faces.webapp.FacesServlet.service(FacesServlet.java:659)
位于org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682)
位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:344)
位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
在org.primefaces.webapp.filter.FileUploadFi
public void setValueExpression(String name, ValueExpression binding) {
if ("value".equals(name)) {
this.model = null;
} else if ("var".equals(name) || "rowIndex".equals(name)) {
throw new IllegalArgumentException();
}
super.setValueExpression(name, binding);
}