Seam 标签的用法

时间:2021-02-10 20:00:37

渲染一个文件上载控件。这个控件必须通过在form中使用 multipart/form-data 的编码类型,例如:

<h:form enctype="multipart/form-data">

对于多部分请求,也必须在 web.xml 中配置Seam Multipart Servlet过滤器:

<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>

配置

下列多部分请求的配置选项可以在 components.xml 中进行配置:

  • createTempFiles — 如果这个选择设置为true,上载好的文件就流向一个临时文件,而不是流向内存。

  • maxRequestSize — 允许上载文件的最大字节数。

下面是一个例子:

<component class="org.jboss.seam.web.MultipartFilter">

<property name="createTempFiles">true</property>

<property name="maxRequestSize">1000000</property>

</component>

属性

  • data — 这个值绑定接收二进制文件数据。 接收域应该声明为一个 byte[] 或者 InputStream (必要)。

  • contentType — 这个值绑定接收文件的内容类型(可选)。

  • fileName — 这个值绑定接收的文件名(可选)。

  • fileSize — 这个值绑定接收的文件大小(可选)。

  • accept — 可以接受的一个以逗号分隔的内容类型列表,可能浏览器不支持。 例如 "images/png,images/jpg""images/"

  • style — 控件的样式,即CSS之类的

  • styleClass — 控件的样式类

用法

<s:fileUpload id="picture" data="#{register.picture}"
accept="image/png"
contentType="#{register.pictureContentType}" />