BEA NetUI tags and APIs are included for backward compatibility only. For new applications, use the Beehive tags and APIs.

com.bea.wlw.netui.tags.html
Class FileUpload

java.lang.Object
  extended by javax.servlet.jsp.tagext.TagSupport
      extended by javax.servlet.jsp.tagext.BodyTagSupport
          extended by com.bea.wlw.netui.tags.AbstractBaseTag
              extended by com.bea.wlw.netui.tags.DataSourceTag
                  extended by com.bea.wlw.netui.tags.html.FileUpload
All Implemented Interfaces:
HtmlConstants, IAttributeConsumer, Serializable, javax.servlet.jsp.tagext.BodyTag, javax.servlet.jsp.tagext.IterationTag, javax.servlet.jsp.tagext.JspTag, javax.servlet.jsp.tagext.Tag

public class FileUpload
extends DataSourceTag
implements IAttributeConsumer

Renders an input tag with type="file", with the given attributes. Usage of this tag requires the parent Form tag to have enctype="multipart/form-data".

Attribute Descriptions
AttributeRequiredRuntime Expression EvaluationData Bindable
acceptNoNoNo
The set of MIME types accepted for file upload.
dataSourceYesNoWrite Only
The name of a form bean property or an expression that contains the FormFile.
readOnlyNoNoNo
Whether or not the TextBox is read-only.
sizeNoNoNo
The visible number of characters in the FileUpload.
tagIdNoNoNo
The ID of this button used by the enclosing html tag to get the tag's real ID attribute for javascript and focus purposes. The real ID attribute id is generated based upon this name.

Notes

See Also:
Form, Serialized Form
Example:
In the following example, note the enctype attribute of the enclosing <netui:form> tag.
       <netui:form action="uploadFile" enctype="multipart/form-data">
          <netui:fileUpload tagId="inputbox" dataSource="{actionForm.theFile}" />
          <netui:button value="Upload File" />
      </netui:form>
Note that the <netui:fileUpload> tag submits the file to Form Bean property theFile. This property must be of type org.apache.struts.upload.FormFile:
    public static class UploadFileForm extends FormData
  {
      private org.apache.struts.upload.FormFile theFile;
      
      public void setTheFile(org.apache.struts.upload.FormFile theFile)
      {
          this.theFile = theFile;
      }
      
      public org.apache.struts.upload.FormFile getTheFile()
      {
          return this.theFile;
      }
  }

Code Samples

[BEA_HOME]/weblogic81/samples/workshop/SamplesApp/WebApp/tagSamples/netui/fileUpload/browseForFile.jsp [BEA_HOME]/weblogic81/samples/workshop/SamplesApp/WebApp/handlingData/binaryFlow/insertDocumentContent.jsp
Beadoc.see:
<netui:fileUpload> Tag Sample, BinaryFlow Sample, Handling Images and Binary Data in Page Flows
Beadoc.tagdescription:
Renders an HTML input tag with which users can browse, select, and upload files from their local machine.

To successfully upload files, the following two conditions must be met:

  • The <netui:fileUpload> tag must have a parent Form tag with the attribute enctype="multipart/form-data"
         <netui:form action="uploadFile" enctype="multipart/form-data">
         ...
             <netui:fileUpload tagId="inputbox" dataSource="{actionForm.theFile}" />            
         ...        
         </netui:form>
  • The dataSource attribute must point to a Form Bean field of type org.apache.struts.upload.FormFile.
        public static class UploadFileForm extends FormData
        {
            private org.apache.struts.upload.FormFile theFile;
        
            public void setTheFile(org.apache.struts.upload.FormFile theFile)
            {
                this.theFile = theFile;
            }
          
            public org.apache.struts.upload.FormFile getTheFile()
            {
                return this.theFile;
            }
        }
The dataSource attribute for the <netui:fileUpload> tag is write-only. This means that the value of the <netui:fileUpload> tag cannot be read back into the tag on postback.

Field Summary
 
Fields inherited from class com.bea.wlw.netui.tags.AbstractBaseTag
ATTR_GENERAL, ATTR_GENERAL_EXPRESSION, ATTR_JAVASCRIPT, ATTR_STYLE, JAVASCRIPT_STATUS, NETUI_UNIQUE_CNT
 
Fields inherited from class javax.servlet.jsp.tagext.BodyTagSupport
bodyContent
 
Fields inherited from class javax.servlet.jsp.tagext.TagSupport
id, pageContext
 
Fields inherited from interface com.bea.wlw.netui.tags.html.HtmlConstants
ACCEPT, ACCESSKEY, ACTION, ALIGN, ALINK, ALT, ANCHOR, BACKGROUND, BASE, BGCOLOR, BODY, BORDER, BR, CAPTION, CELLPADDING, CELLSPACING, CHAR, CHAROFF, CHARSET, CHECKED, CLASS, COLS, COORDS, DIR, DISABLED, DIV, ENCTYPE, FOR, FORM, FORM_GET, FORM_POST, FRAME, HEIGHT, HREF, HREFLANG, HSPACE, HTML, ID, IMAGE, INPUT, INPUT_BUTTON, INPUT_CHECKBOX, INPUT_FILE, INPUT_HIDDEN, INPUT_IMAGE, INPUT_PASSWORD, INPUT_RADIO, INPUT_RESET, INPUT_SUBMIT, INPUT_TEXT, ISMAP, LABEL, LANG, LINK, LONGDESC, MAXLENGTH, METHOD, NAME, ONBLUR, ONCHANGE, ONCLICK, ONDBLCLICK, ONFOCUS, ONKEYDOWN, ONKEYPRESS, ONKEYUP, ONLOAD, ONMOUSEDOWN, ONMOUSEMOVE, ONMOUSEOUT, ONMOUSEOVER, ONMOUSEUP, ONRESET, ONSELECT, ONSUBMIT, ONUNLOAD, OPTION, READONLY, REL, REV, ROWS, RULES, SELECT, SHAPE, SIZE, SPAN, SRC, STYLE, SUMMARY, TABINDEX, TABLE, TARGET, TD, TEXT, TEXTAREA, TITLE, TR, TYPE, USEMAP, VALIGN, VALUE, VLINK, VSPACE, WIDTH
 
Fields inherited from interface javax.servlet.jsp.tagext.BodyTag
EVAL_BODY_BUFFERED, EVAL_BODY_TAG
 
Fields inherited from interface javax.servlet.jsp.tagext.IterationTag
EVAL_BODY_AGAIN
 
Fields inherited from interface javax.servlet.jsp.tagext.Tag
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE
 
Constructor Summary
FileUpload()
           
 
Method Summary
 int doAfterBody()
          Save the body content of the FileUpLoad.
 int doEndTag()
          Render the FileUpload.
 int doStartTag()
          Prepare FileUpload for rendering
 String getAccept()
          Gets the mime-types accepted for the FileUpload.
 String getOnBlur()
          Gets the onBlur javascript event.
 String getOnChange()
          Gets the onChange javascript event.
 String getOnClick()
          Gets the onClick javascript event.
 String getOnDblClick()
          Gets the onDblClick javascript event.
 String getOnFocus()
          Gets the onFocus javascript event.
 String getOnKeyDown()
          Gets the onKeyDown javascript event.
 String getOnKeyPress()
          Gets the onKeyPress javascript event.
 String getOnKeyUp()
          Gets the onKeyUp javascript event.
 String getOnMouseDown()
          Gets the onMouseDown javascript event.
 String getOnMouseMove()
          Gets the onMouseMove javascript event.
 String getOnMouseOut()
          Gets the onMouseOut javascript event.
 String getOnMouseOver()
          Gets the onMouseOver javascript event.
 String getOnMouseUp()
          Gets the onMouseUp javascript event.
 String getOnSelect()
          Gets the onSelect javascript event.
 boolean getReadonly()
          Gets if this FileUpload is read-only.
 String getSize()
          Gets the size (in characters) of the FileUpload.
 String getStyle()
          Gets the style of the rendered html tag.
 String getStyleClass()
          Gets the style class of the rendered html tag.
 String getTabindex()
          Gets the tabIndex of the rendered html tag.
 String getTagId()
          Return the ID of the FileUpload.
 String getTagName()
          Return the name of the Tag.
protected  void localRelease()
          Release any acquired resources.
 void setAccept(String accept)
          Set the mime-types accepted for the FileUpload.
 void setAttribute(String name, String value)
          Set an attribute value.
 void setOnBlur(String onblur)
          Sets the onBlur javascript event.
 void setOnChange(String onchange)
          Sets the onChange javascript event.
 void setOnClick(String onclick)
          Sets the onClick javascript event.
 void setOnDblClick(String ondblclick)
          Sets the onDblClick javascript event.
 void setOnFocus(String onfocus)
          Sets the onFocus javascript event.
 void setOnKeyDown(String onkeydown)
          Sets the onKeyDown javascript event.
 void setOnKeyPress(String onkeypress)
          Sets the onKeyPress javascript event.
 void setOnKeyUp(String onkeyup)
          Sets the onKeyUp javascript event.
 void setOnMouseDown(String onmousedown)
          Sets the onMouseDown javascript event.
 void setOnMouseMove(String onmousemove)
          Sets the onMouseMove javascript event.
 void setOnMouseOut(String onmouseout)
          Sets the onMouseOut javascript event.
 void setOnMouseOver(String onmouseover)
          Sets the onMouseOver javascript event.
 void setOnMouseUp(String onmouseup)
          Sets the onMouseUp javascript event.
 void setOnSelect(String onselect)
          Sets the onSelect javascript event.
 void setReadonly(boolean readonly)
          Set if this FileUpload is read-only.
 void setSize(String size)
          Set the size (in characters) of the FileUpload.
 void setStyle(String style)
          Sets the style of the rendered html tag.
 void setStyleClass(String styleClass)
          Sets the style class of the rendered html tag.
 void setTabindex(String tabindex)
          Sets the tabIndex of the rendered html tag.
 void setTagId(String tagId)
          Set the ID of the FileUpload.
 
Methods inherited from class com.bea.wlw.netui.tags.DataSourceTag
addNamingInterceptor, doNaming, evaluateDataSource, getDataSource, qualifyAttribute, removeNamingInterceptor, setDataSource
 
Methods inherited from class com.bea.wlw.netui.tags.AbstractBaseTag
addTagIdMapping, containsExpression, evaluateAttributeToString, evaluateExpression, filter, filter, formatErrorString, formatString, getAttribute, getErrorsReport, getExpressionEvaluator, getJavaScriptUtils, getNearestForm, getNextId, getQualifiedBundleName, getScriptReporter, getUserLocale, hasErrors, isExpression, prepForRendering, registerAttribute, registerError, registerTagError, release, removeAttribute, renderAttribute, renderAttributes, reportErrors, rewriteName, setPageContext, updateExpression, write
 
Methods inherited from class javax.servlet.jsp.tagext.BodyTagSupport
doInitBody, getBodyContent, getPreviousOut, setBodyContent
 
Methods inherited from class javax.servlet.jsp.tagext.TagSupport
findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setParent, setValue
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.servlet.jsp.tagext.Tag
getParent, setParent
 

Constructor Detail

FileUpload

public FileUpload()
Method Detail

getTagName

public String getTagName()
Return the name of the Tag.

Specified by:
getTagName in class AbstractBaseTag

setAttribute

public void setAttribute(String name,
                         String value)
                  throws javax.servlet.jsp.JspException
Set an attribute value. The name represents the name of the attribute. The value represents the value and may contain a netui expression. This method may result in errors being generated. This requires that the tag buffer its body and write attributes in the end tag. For the fileupload tag it is not legal to set the id, name or type attributes with this method.

Specified by:
setAttribute in interface IAttributeConsumer
Parameters:
name - The name of the attribute. This value may not be null or the empty string.
value - The value of the attribute. This may contain a netui expression.
Throws:
javax.servlet.jsp.JspException - A JspException may be thrown if there is an error setting the attribute.

getAccept

public String getAccept()
Gets the mime-types accepted for the FileUpload.

Returns:
the accepted mime-types

setAccept

public void setAccept(String accept)
Set the mime-types accepted for the FileUpload.

Parameters:
accept - - the accepted mime-types
Beadoc.attributedescription:
The set of MIME types accepted for file upload.
Beadoc.attributesyntaxvalue:
string_acceptTheseMIMETypes
Beadoc.databindable:
false

getReadonly

public boolean getReadonly()
Gets if this FileUpload is read-only.

Returns:
the read-only state

setReadonly

public void setReadonly(boolean readonly)
Set if this FileUpload is read-only.

Parameters:
readonly - - the read-only state
Beadoc.attributedescription:
Boolean. Determines whether or not the file upload field is read-only.
Beadoc.attributesyntaxvalue:
boolean_readOnly
Beadoc.databindable:
false

getSize

public String getSize()
Gets the size (in characters) of the FileUpload.

Returns:
the size

setSize

public void setSize(String size)
Set the size (in characters) of the FileUpload.

Parameters:
size - - the size
Beadoc.attributedescription:
Integer. The number of characters visible in the file upload field.
Beadoc.attributesyntaxvalue:
integer_fieldSize
Beadoc.databindable:
false

getTagId

public String getTagId()
Return the ID of the FileUpload.

Returns:
the ID.

setTagId

public void setTagId(String tagId)
Set the ID of the FileUpload.

Parameters:
tagId - - the ID.
Beadoc.attributedescription:

String value. Sets the id (or name) attribute of the rendered HTML tag. Note that the real id attribute rendered in the browser may be changed by the application container (for example, Portal containers may change the rendered id value to ensure the uniqueness of id's on the page). In this case, the real id rendered in the browser may be looked up through the JavaScript function getNetuiTagName( tagId, tag ).

For example, assume that some tag's tagId attribute is set to foo.

    <netui:textBox tagId="foo" />

Then the following JavaScript function will return the real id attribute rendered in the browser:

    getNetuiTagName( "foo", this )

To get a <netui:form> element and all of its children elements in JavaScript, use the same JavaScript function getNetuiTagName( tagId, tag ). For example, assume that there is a <netui:form> whose tagId attribute is set to bar.

    <netui:form tagId="bar" >

Then the following JavaScript function will return the <netui:form> element and its children (packaged as an array).

    document[getNetuiTagName( "bar", this )]

To retreive the value entered into a <netui:textBox> within the <netui:form> tag, use the following JavaScript expression.

    document[getNetuiTagName("bar", this)][getNetuiTagName("foo", this)].value

The second parameter ensures that the JavaScript function begins its search within the correct Portlet scope. Pass the JavaScript keyword this as the second parameter. For detailed information on using the function getNetuiTagName( tagId, tag ) see Using JavaScript in Page Flow and Portal Applications.

Beadoc.attributesyntaxvalue:
string_tagId
Beadoc.databindable:
false

doStartTag

public int doStartTag()
               throws javax.servlet.jsp.JspException
Prepare FileUpload for rendering

Specified by:
doStartTag in interface javax.servlet.jsp.tagext.Tag
Overrides:
doStartTag in class javax.servlet.jsp.tagext.BodyTagSupport
Throws:
javax.servlet.jsp.JspException - if a JSP exception has occurred

doAfterBody

public int doAfterBody()
                throws javax.servlet.jsp.JspException
Save the body content of the FileUpLoad. In this case any body content will be thrown away.

Specified by:
doAfterBody in interface javax.servlet.jsp.tagext.IterationTag
Overrides:
doAfterBody in class javax.servlet.jsp.tagext.BodyTagSupport
Throws:
javax.servlet.jsp.JspException - if a JSP exception has occurred

doEndTag

public int doEndTag()
             throws javax.servlet.jsp.JspException
Render the FileUpload.

Specified by:
doEndTag in interface javax.servlet.jsp.tagext.Tag
Overrides:
doEndTag in class javax.servlet.jsp.tagext.BodyTagSupport
Throws:
javax.servlet.jsp.JspException - if a JSP exception has occurred

localRelease

protected void localRelease()
Release any acquired resources.

Overrides:
localRelease in class DataSourceTag

setTabindex

public void setTabindex(String tabindex)
Sets the tabIndex of the rendered html tag.

Parameters:
tabindex - - the tab index.
Beadoc.attributedescription:
The tabIndex of the rendered HTML tag. This attribute determines the position of the tag in the sequence of page elements that the user may advance through by pressing the TAB key.
Beadoc.attributesyntaxvalue:
string_tabIndex
Beadoc.databindable:
false

getTabindex

public String getTabindex()
Gets the tabIndex of the rendered html tag.

Returns:
the tabindex.

setStyle

public void setStyle(String style)
Sets the style of the rendered html tag.

Parameters:
style - - the html style.
Beadoc.attributedescription:
The style of the rendered HTML tag.
Beadoc.attributesyntaxvalue:
string_Style
Beadoc.databindable:
false

getStyle

public String getStyle()
Gets the style of the rendered html tag.

Returns:
the style.

setStyleClass

public void setStyleClass(String styleClass)
Sets the style class of the rendered html tag.

Parameters:
styleClass - - the html style class.
Beadoc.attributedescription:
The class of the rendered HTML tag.
Beadoc.attributesyntaxvalue:
string_Class
Beadoc.databindable:
false

getStyleClass

public String getStyleClass()
Gets the style class of the rendered html tag.

Returns:
the style class.

getOnClick

public String getOnClick()
Gets the onClick javascript event.

Returns:
the onClick event.

setOnClick

public void setOnClick(String onclick)
Sets the onClick javascript event.

Parameters:
onclick - - the onClick event.
Beadoc.attributedescription:
The onClick JavaScript event.
Beadoc.attributesyntaxvalue:
string_onClick
Beadoc.databindable:
false

getOnDblClick

public String getOnDblClick()
Gets the onDblClick javascript event.

Returns:
the onDblClick event.

setOnDblClick

public void setOnDblClick(String ondblclick)
Sets the onDblClick javascript event.

Parameters:
ondblclick - - the onDblClick event.
Beadoc.attributedescription:
The onDblClick JavaScript event.
Beadoc.attributesyntaxvalue:
string_onDblClick
Beadoc.databindable:
false

getOnKeyDown

public String getOnKeyDown()
Gets the onKeyDown javascript event.

Returns:
the onKeyDown event.

setOnKeyDown

public void setOnKeyDown(String onkeydown)
Sets the onKeyDown javascript event.

Parameters:
onkeydown - - the onKeyDown event.
Beadoc.attributedescription:
The onKeyDown JavaScript event.
Beadoc.attributesyntaxvalue:
string_onKeyDown
Beadoc.databindable:
false

getOnKeyPress

public String getOnKeyPress()
Gets the onKeyPress javascript event.

Returns:
the onKeyPress event.

setOnKeyPress

public void setOnKeyPress(String onkeypress)
Sets the onKeyPress javascript event.

Parameters:
onkeypress - - the onKeyPress event.
Beadoc.attributedescription:
The onKeyPress JavaScript event.
Beadoc.attributesyntaxvalue:
string_onKeyPress
Beadoc.databindable:
false

getOnKeyUp

public String getOnKeyUp()
Gets the onKeyUp javascript event.

Returns:
the onKeyUp event.

setOnKeyUp

public void setOnKeyUp(String onkeyup)
Sets the onKeyUp javascript event.

Parameters:
onkeyup - - the onKeyUp event.
Beadoc.attributedescription:
The onKeyUp JavaScript event.
Beadoc.attributesyntaxvalue:
string_onKeyUp
Beadoc.databindable:
false

getOnMouseDown

public String getOnMouseDown()
Gets the onMouseDown javascript event.

Returns:
the onMouseDown event.

setOnMouseDown

public void setOnMouseDown(String onmousedown)
Sets the onMouseDown javascript event.

Parameters:
onmousedown - - the onMouseDown event.
Beadoc.attributedescription:
The onMouseDown JavaScript event.
Beadoc.attributesyntaxvalue:
string_onMouseDown
Beadoc.databindable:
false

getOnMouseMove

public String getOnMouseMove()
Gets the onMouseMove javascript event.

Returns:
the onMouseMove event.

setOnMouseMove

public void setOnMouseMove(String onmousemove)
Sets the onMouseMove javascript event.

Parameters:
onmousemove - - the onMouseMove event.
Beadoc.attributedescription:
The onMouseMove JavaScript event.
Beadoc.attributesyntaxvalue:
string_onMouseMove
Beadoc.databindable:
false

getOnMouseOut

public String getOnMouseOut()
Gets the onMouseOut javascript event.

Returns:
the onMouseOut event.

setOnMouseOut

public void setOnMouseOut(String onmouseout)
Sets the onMouseOut javascript event.

Parameters:
onmouseout - - the onMouseOut event.
Beadoc.attributedescription:
The onMouseOut JavaScript event.
Beadoc.attributesyntaxvalue:
string_onMouseOut
Beadoc.databindable:
false

getOnMouseOver

public String getOnMouseOver()
Gets the onMouseOver javascript event.

Returns:
the onMouseOver event.

setOnMouseOver

public void setOnMouseOver(String onmouseover)
Sets the onMouseOver javascript event.

Parameters:
onmouseover - - the onMouseOver event.
Beadoc.attributedescription:
The onMouseOver JavaScript event.
Beadoc.attributesyntaxvalue:
string_onMouseOver
Beadoc.databindable:
false

getOnMouseUp

public String getOnMouseUp()
Gets the onMouseUp javascript event.

Returns:
the onMouseUp event.

setOnMouseUp

public void setOnMouseUp(String onmouseup)
Sets the onMouseUp javascript event.

Parameters:
onmouseup - - the onMouseUp event.
Beadoc.attributedescription:
The onMouseUp JavaScript event.
Beadoc.attributesyntaxvalue:
string_onMouseUp
Beadoc.databindable:
false

getOnBlur

public String getOnBlur()
Gets the onBlur javascript event.

Returns:
the onBlur event.

setOnBlur

public void setOnBlur(String onblur)
Sets the onBlur javascript event.

Parameters:
onblur - - the onBlur event.
Beadoc.attributedescription:
The onBlur JavaScript event.
Beadoc.attributesyntaxvalue:
string_onBlur
Beadoc.databindable:
false

getOnFocus

public String getOnFocus()
Gets the onFocus javascript event.

Returns:
the onFocus event.

setOnFocus

public void setOnFocus(String onfocus)
Sets the onFocus javascript event.

Parameters:
onblur - - the onFocus event.
Beadoc.attributedescription:
The onFocus JavaScript event.
Beadoc.attributesyntaxvalue:
string_onFocus
Beadoc.databindable:
false

getOnChange

public String getOnChange()
Gets the onChange javascript event.

Returns:
the onChange event.

setOnChange

public void setOnChange(String onchange)
Sets the onChange javascript event.

Parameters:
onchange - - the onChange event.
Beadoc.attributedescription:
The onChange JavaScript event.
Beadoc.attributesyntaxvalue:
string_onChange
Beadoc.databindable:
false

getOnSelect

public String getOnSelect()
Gets the onSelect javascript event.

Returns:
the onSelect event.

setOnSelect

public void setOnSelect(String onselect)
Sets the onSelect javascript event.

Parameters:
onselect - - the onSelect event.
Beadoc.attributedescription:
The onSelect JavaScript event.
Beadoc.attributesyntaxvalue:
string_onSelect
Beadoc.databindable:
false

BEA NetUI tags and APIs are included for backward compatibility only. For new applications, use the Beehive tags and APIs.