PrimeFaces 3.2数据导出器不工作



我正在使用PrimeFaces 3.2,并希望将动态创建的表导出为.xls文件。当我点击导出时,似乎什么都没有发生。

导出代码

<h:commandLink id="Download_Excel_Format" ajax="false">  
<p:graphicImage value="/resources/Excel_Icon.jpg" height="25" width="25" />
<p:dataExporter type="xls" target="dataTable" fileName="SomeFileName"/>  
</h:commandLink>

数据表

<p:dataTable id="dataTable" var="c" value="#{databaseSearch.customerList}"  
                                     paginator="true" rows="10" paginatorAlwaysVisible="false"
                                     paginatorTemplate="Page {CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink}  Rows per page {RowsPerPageDropdown}"  
                                     rowsPerPageTemplate="5,10,15,30">  
                            <p:column>  
                                <f:facet name="header">  
                                    <h:outputText value="Machine" />  
                                </f:facet>  
                                <p:commandButton id="basic" value="#{c.machine}" action="#{updateEntry.setMachine(c.machine)}" oncomplete="dlg1.show();" styleClass="ui-Machinebutton" update=":Update_Entry"/>
                                <p:tooltip for="basic" value="Update/Delete Database Entry" showEffect="fade" hideEffect="fade" />
                            </p:column>  
                            <p:column>  
                                <f:facet name="header">  
                                    <h:outputText value="Company" />  
                                </f:facet>  
                                <h:outputText value="#{c.company}" />
                            </p:column>  
                            <p:column>  
                                <f:facet name="header">  
                                    <h:outputText value="Contact" />  
                                </f:facet>  
                                <h:outputText value="#{c.contact}" />  
                            </p:column>  
                            <p:column>  
                                <f:facet name="header">  
                                    <h:outputText value="Phone" />  
                                </f:facet>  
                                <h:outputText value="#{c.phone}" />  
                            </p:column>  
                            <p:column>  
                                <f:facet name="header">  
                                    <h:outputText value="Email" />  
                                </f:facet>  
                               <!-- <h:outputText value="#{c.email}" />-->
                                <h:outputLink value="mailto:#{c.email}?Subject=Baseline Monitor Alert | Machine : #{c.machine}">#{c.email}</h:outputLink>
                            </p:column>  
                        </p:dataTable> 

dataTable和Export命令都在一个表单中,但是dataTable在输出面板中(在表单中)。

表单

<h:form prependId="false" id="Main_Form">
</h:form>

输出面板

<p:outputPanel id="panel" autoUpdate="false">
</p:outputPanel>

我甚至更新到PrimeFaces 3.4.2,看看dataExporter是否可以工作,但没有用,据我所知,如果dataTable动态生成列,3.2有一个错误,但这里不是这样的,对吧?我做错什么了吗?

dataExporter选项看起来要简单得多,但如果有一个足够简单的替代方案,我愿意

更新

我正在使用GlassFish 3.1.2.2(构建5)&NetBeans 7.2.1,我没有得到任何错误,只是页面刷新,在URL的末尾有一个"#"并停止,没有错误意味着我也不缺乏任何依赖。。。所以我迷失在这里。。。

好的,我找到了答案!不过很狡猾。。。我有一个ID为submit的commandButton。。。重命名它,就成功了!

<p:commandButton id="xsubmit" icon="ui-icon-search" title="Search Database" update="panel" actionListener="#{databaseSearch.customerList}" />

最新更新