Project Documentation

Summary

Tag name: <t:inputFileUpload>
UIComponent class: org.apache.myfaces.custom.fileupload.HtmlInputFileUpload
Tag class: org.apache.myfaces.custom.fileupload.HtmlInputFileUploadTag
Component type: org.apache.myfaces.HtmlInputFileUpload
Component family: javax.faces.Input
Renderer type: org.apache.myfaces.FileUpload
Renderer class: org.apache.myfaces.custom.fileupload.HtmlFileUploadRenderer

Creates a file-selection widget in the rendered page which allows a user to select a file for uploading to the server.

When the page is selected (using a command component such as commandButton), the currently selected file contents are included in the data posted to the server. The contents are cached somewhere, and an object of type UploadedFile will then be assigned to the property pointed to by the "value" expression of this component.

You must enable the Tomahawk ExtensionsFilter to make this component work (see web.xml).

Also, don't forget to set the form's attribute "enctype" to "multipart/form-data". See "examples/web/fileupload.jsp" for an example!

Unless otherwise specified, all attributes accept static values or EL expressions.

Usage

<t:inputFileUpload [{all standard UIInput and HTML input attributes}]
                      [accept="mime-type"] />

Instructions

see "examples/fileupload.jsp" for an example!

Attributes

Name Type Supports EL? Description
accept String Yes This attribute specifies a comma-separated list of content types that a server processing this form will handle correctly. User agents may use this information to filter out non-conforming files when prompting a user to select files to be sent to the server (cf. the INPUT element when type="file")."
accesskey String Yes HTML: Sets the access key for this element.
align String Yes HTML: Specifies the horizontal alignment of this element. Deprecated in HTML 4.01.
alt String Yes HTML: Specifies alternative text that can be used by a browser that can't show this element.
binding String Only EL Identifies a backing bean property (of type UIComponent or appropriate subclass) to bind to this component instance. This value must be an EL expression.
converter javax.faces.convert.Converter Yes The value can either be a static value (ID) or an EL expression. When a static id is specified, an instance of the converter type registered with that id is used. When this is an EL expression, the result of evaluating the expression must be an object that implements the Converter interface.
dir String Yes HTML: The direction of text display, either 'ltr' (left-to-right) or 'rtl' (right-to-left).
disabled boolean Yes HTML: When true, this element cannot receive focus.
enabledOnUserRole String Yes If user is in given role, this component will be rendered normally. If not, no hyperlink is rendered but all nested tags (=body) are rendered.
id String Yes An identifier for this particular component instance within a component view.

The id must be unique within the scope of the tag's enclosing NamingContainer (eg h:form or f:subview). The id is not necessarily unique across all components in the current view

This value must be a static value, ie not change over the lifetime of a component. It cannot be defined via an EL expression; only a string is permitted.

immediate boolean Yes A boolean value that identifies the phase during which value change events should fire. During normal event processing, value change events are fired during the "process validations" phase of request processing. If this attribute is set to "true", these methods are fired instead at the end of the "apply request values" phase.
lang String Yes HTML: The base language of this document.
maxlength int Yes HTML: The maximum number of characters allowed to be entered.
onblur String Yes HTML: Specifies a script to be invoked when the element loses focus.
onchange String Yes HTML: Specifies a script to be invoked when the element is modified.
onclick String Yes HTML: Script to be invoked when the element is clicked.
ondblclick String Yes HTML: Script to be invoked when the element is double-clicked.
onfocus String Yes HTML: Specifies a script to be invoked when the element receives focus.
onkeydown String Yes HTML: Script to be invoked when a key is pressed down over this element.
onkeypress String Yes HTML: Script to be invoked when a key is pressed over this element.
onkeyup String Yes HTML: Script to be invoked when a key is released over this element.
onmousedown String Yes HTML: Script to be invoked when the pointing device is pressed over this element.
onmousemove String Yes HTML: Script to be invoked when the pointing device is moved while it is in this element.
onmouseout String Yes HTML: Script to be invoked when the pointing device is moves out of this element.
onmouseover String Yes HTML: Script to be invoked when the pointing device is moved into this element.
onmouseup String Yes HTML: Script to be invoked when the pointing device is released over this element.
onselect String Yes HTML: Specifies a script to be invoked when the element is selected.
readonly boolean Yes HTML: When true, indicates that this component cannot be modified by the user. The element may receive focus unless it has also been disabled.
rendered boolean Yes A boolean value that indicates whether this component should be rendered. Default value: true.
required boolean Yes A boolean value that indicates whether an input value is required. If this value is true, and no input value is provided, the error message javax.faces.component.UIInput.REQUIRED is posted.
size int Yes HTML: The initial width of this control, in characters.
storage String Yes This setting was intended to allow control over how the contents of the file get temporarily stored during processing.

It allows three options

  • "default": The file is handled on memory while the file size is below uploadThresholdSize value, otherwise is handled on disk or file storage when decode occur (set submitted value)
  • "memory": The file is loaded to memory when decode occur (set submitted value). In other words, before set the uploaded file as submitted value it is loaded to memory. Use with caution, because it could cause OutOfMemory exceptions when the uploaded files are too big.
  • "file": The file is handled on disk or file storage.
style String Yes HTML: CSS styling instructions.
styleClass String Yes The CSS class for this element. Corresponds to the HTML 'class' attribute.
tabindex String Yes HTML: Specifies the position of this element within the tab order of the document.
title String Yes HTML: An advisory title for this element. Often used by the user agent as a tooltip.
validator javax.faces.el.MethodBinding Only EL A method binding EL expression, accepting FacesContext, UIComponent, and Object parameters, and returning void, that validates the component's local value.
value Object Yes An EL expression to which an UploadedFile object will be assigned on postback if the user specified a file to upload to the server.
valueChangeListener javax.faces.el.MethodBinding Only EL A method binding EL expression, accepting a ValueChangeEvent parameter and returning void. The specified method is invoked if this component is modified. The phase that this handler is fired in can be controlled via the immediate attribute.
visibleOnUserRole String Yes If user is in given role, this component will be rendered normally. If not, nothing is rendered and the body of this tag will be skipped.