【问题标题】:icefaces ace:fileEntry does not workicefaces ace:fileEntry 不起作用
【发布时间】:2013-02-06 13:11:36
【问题描述】:

对于我的 Web 应用程序,我想使用 ace:fileEntry 组件。

我尝试了展示柜,但它不起作用。没有错误。 fileEntryListener 永远不会被调用。该文件仍在上传(浏览器 sais),但该文件未存储在服务器上。

这有什么已知的问题吗?

 <h:form id="fileUploadForm">

   <h:panelGrid id="fileUploadGrid" columns="2" width="100%" styleClass="textEntryInputTable">

   <ace:fileEntry id="fileEntryComp"
                                   label="File Entry"
                                   relativePath="uploaded"
                                   fileEntryListener="#{ticketDetailListBean.listener}"/>                            

       <h:commandButton id="submit" value="Datei uploaden" type="submit" styleClass="icebutton" />

       <h:message id="msg" for="fileUploadForm:fileEntryComp" infoClass="infoMessage" errorClass="errorMessage"/>
       <h:outputFormat value=""></h:outputFormat>

     </h:panelGrid>

 </h:form>

属性“fileEntryListener”可以设置为任何值。 bean和方法是否存在都没关系。如果我引用一个不存在的 bean,则不会导致错误。这告诉我,从未使用过 Listener。

我正在使用tomcat 7.0.34icefaces 3.2.0. 我尝试了自己的实现,但我仍然复制了icefaces 展示的示例。两者都不起作用。

【问题讨论】:

  • 感谢您的回复。我在一个简单的 jsf 站点上尝试过,它只包含文件上传。没有弹出窗口或菜单。我正在直接和手动导航到该站点。 jsf 站点是使用与其他托管 bean 通信的模板文件实现的。这会是个问题吗?
  • 从给定的细节中无法找出问题,但我建议您检查项目代码/依赖项/配置..等,并将这些线程闲置...thread1,@ 987654322@, thread3, thread4.
  • 我想我找到了解决方案。问题是我使用 Icefaces 来实现新的站点。但我已经有struts网站。并且所有站点(也包括 Icefaces 站点)都通过了 Struts 过滤器。那仍然是问题..

标签: java icefaces icefaces-3


【解决方案1】:

我遇到了同样的问题,解决方法如下: 检查用 ace:panel 包裹的 fileEntry 标签

    <ace:panel>
    <ace:fileEntry id="signature-file-entry"
                   relativePath="/files/"
                   maxFileCount="1"
                   maxFileCountMessage="#{msg.concurrentFileUploadLimit}"
                   fileEntryListener="#{userManagement.signatureUploadListener}"
                   maxFileSize="6291456"
                   maxFileSizeMessage="#{msg.maxFileSizeMessage}"
                   maxTotalSize="18874368"
                   maxTotalSizeMessage="#{msg.maxTotalSizeMessage}"
                   required="true"
                   requiredMessage="#{msg.requiredMessage}"
                   useOriginalFilename="true"
                   useSessionSubdir="true"
                   tabindex="6"/>
    <ace:message for="signature-file-entry" showSummary="true" showDetail="false" />
    <h:commandButton value="#{msg.sendFile}" type="submit" id="uploadAFile" />
</ace:panel>

检查你的 web.xml,它应该包含以下标签:

    <context-param>
       <param-name>org.icefaces.mandatoryResourceConfiguration</param-name>
       <param-value>fileEntry</param-value>
    </context-param>

    <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.jsf</url-pattern>
</servlet-mapping>
<servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.faces</url-pattern>
</servlet-mapping>
<servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
<servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>/icefaces/*</url-pattern>
</servlet-mapping>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-13
    • 1970-01-01
    • 2013-10-10
    • 1970-01-01
    • 2011-12-18
    • 2011-10-28
    • 2011-09-09
    • 2011-07-01
    相关资源
    最近更新 更多