java - <s :fileUpload> is returning null value

标签 java seam seam2

使用 <s:fileUpload> 进行文件上传时组件返回 null 。

应用程序正在使用seam 2.1.2与Richfaces、Jsf集成

<h:panelGrid columns="2" cellspacing="1" cellpadding="0"
   columnClasses="columnFull">
<s:fileUpload id="picture" data="#{image.uploadedFile}"

    contentType="#{image.pictureContentType}" />

</h:panelGrid>


@Name("image")
@Scope(ScopeType.CONVERSATION)
public class DoImportServiceUpload {


      @Lob
      @Column(length = 2147483647)
      private  byte[] uploadedFile;

      private String pictureContentType;

}

web.xml

<filter>
  <filter-name>Seam Filter</filter-name>
  <filter-class>org.jboss.seam.servlet.SeamFilter</filter-class>
</filter>
  <filter-mapping>
  <filter-name>Seam Filter</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>

组件.xml

<web:multipart-filter create-temp-files="true"
                      max-request-size="1000000" 
                      url-pattern="*.seam" />

最佳答案

  1. 在 Seam MultiPartFilter 中放置一个断点。使用远程调试连接到您的应用程序服务器。检查过滤器是否真正被触发,以及是否发现文件上传。
  2. 如果不是,则 POST 请求中可能不存在文件上传。在 Google Chrome 中检查文件上传是否确实使用正确的内容类型发送。
  3. 检查是否s:fileUpload标签实际上包含在一个 h:form 中。 h:form类型应为 <h:form enctype="multipart/form-data"> 。检查 HTML 输出中是否也正确呈现。

关于java - <s :fileUpload> is returning null value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16031757/

相关文章:

java - 如何显式注释空方法?

java - 为什么 Servlet 的 WEB-INF 文件夹下名为 EmailList.txt 的文件没有打印输出

java - 使用 Jboss/Seam 从 OpenId 获取电子邮件地址

java - 如何从条件中获取查询?

Seam2.2 迁移到 2.3 产生 org.jboss.seam.core.init.jndiPattern 或使用 @JndiName 错误

java - jboss & maven : maven build fails due to libraries not opening

java - 通过 PCF 获取 Websphere MQ 对象授权

java - SEAM 项目在 JBoss AS 中运行?

rest - RESTful JSF是否可能?

java - hibernate 4 中的 org.hibernate.validator.InvalidValue