从p:dataTable导出到xml不起作用

时间:2016-07-22 17:35:24

标签: xml jsf-2 primefaces

我有PrimeFaces的问题。我无法将任何数据从datatable导出到xml文件。每次尝试我都会得到同样的错误:  javax.faces.FacesException: No suitable xml tag found for org.primefaces.component.column.Column@79879de5

数据表代码:

<p:dataTable id="Codes" var="code" value="#{codesTable.allCodesFromDB}" selection="#{codesTable.selectedCodes}" rowKey="#{code.id}"
    paginatorTemplate="{CurrentPageReport}  {FirstPageLink}
           {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {Exporters}"
        rowSelectMode="checkbox"
        paginator="true" rows="15" style="margin-bottom:20px">
    <f:facet name="{Exporters}">
        <div class="inline-block">
            <h:commandLink>
                <img src="resource/img/csv-icon.png" alt="" class="exporter-icon img-responsive"/>
                <p:dataExporter type="csv" target="Codes" fileName="kody" selectionOnly="true"/>
            </h:commandLink>
        </div>
        <div class="inline-block">
            <h:commandLink>
                <img src="resource/img/xml-icon.png" alt="" class="exporter-icon img-responsive"/>
                <p:dataExporter type="xml" target="Codes" fileName="kody2" selectionOnly="true" />
            </h:commandLink>
        </div>
    </f:facet>
    <p:column selectionMode="multiple" style="width:50px;text-align:center"/>
    <p:column sortBy="#{code.id}">
        <f:facet name="header">
            <h:outputText value="Id" />
        </f:facet>
        <h:outputText value="#{code.id}" />
    </p:column>

    <p:column sortBy="#{code.code}">
        <f:facet name="header">
            <h:outputText value="Kod"/>
        </f:facet>
            <h:outputText value="#{code.code}" />
    </p:column>

    <p:column sortBy="#{code.companyName}">
        <f:facet name="header">
            <h:outputText value="Nazwa firmy" />
        </f:facet>
            <h:outputText value="#{code.companyName}" />
    </p:column>

    <p:column sortBy="#{code.codesQuantity}">
        <f:facet name="header">
            <h:outputText value="Ilość" />
        </f:facet>
            <h:outputText value="#{code.codesQuantity}" />
    </p:column>

    <p:column sortBy="#{code.formattedStringOfDate}">
        <f:facet name="header">
            <h:outputText value="Data" />
        </f:facet>
            <h:outputText value="#{code.formattedStringOfDate}" />
    </p:column>

    <f:facet name="footer">
        <p:commandButton process="Codes" icon="ui-icon-search" value="Usuń" actionListener="#{codesTable.removeCodesFromDB()}"
                update=":tableDataFormCodes:Codes"/>
    </f:facet>
</p:dataTable>

CSV导出通常正常工作,当我尝试导出没有选择行的XML时,程序正在生成文件。 我尝试了最新版本和5.2,两者都无法正常工作。 我正在使用glassfish服务器。

1 个答案:

答案 0 :(得分:2)

问题在于选择列。

<p:column selectionMode="multiple" style="width:50px;text-align:center"/>. 

删除它,它应该工作或添加一个facet标题。

查看源代码here