[jboss-cvs] jboss-seam/src/ui/org/jboss/seam/ui ...
Shane Bryzak
Shane_Bryzak at symantec.com
Mon Jan 22 11:19:19 EST 2007
User: sbryzak2
Date: 07/01/22 11:19:19
Modified: src/ui/org/jboss/seam/ui HTML.java
Added: src/ui/org/jboss/seam/ui FileUpload.java
Log:
file upload tag, with _very_ basic support for multipart forms
Revision Changes Path
1.3 +545 -595 jboss-seam/src/ui/org/jboss/seam/ui/HTML.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: HTML.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/ui/org/jboss/seam/ui/HTML.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- HTML.java 3 Apr 2006 09:54:47 -0000 1.2
+++ HTML.java 22 Jan 2007 16:19:19 -0000 1.3
@@ -14,17 +14,14 @@
* limitations under the License.
*/
package org.jboss.seam.ui;
-
import java.io.IOException;
-
import javax.faces.component.UIComponent;
import javax.faces.context.ResponseWriter;
-
/**
* Constant declarations for HTML rendering.
* @author Manfred Geiler
* @author Anton Koinov
- * @version $Revision: 1.2 $ $Date: 2006/04/03 09:54:47 $
+ * @version $Revision: 1.3 $ $Date: 2007/01/22 16:19:19 $
*/
public final class HTML
{
@@ -44,7 +41,6 @@
}
return result;
}
-
/**
* @return true, if an attribute was written
* @throws java.io.IOException
@@ -60,7 +56,6 @@
}
return somethingDone;
}
-
/**
* @return true, if the attribute was written
* @throws java.io.IOException
@@ -72,7 +67,6 @@
return renderHTMLAttribute(writer, componentProperty, htmlAttrName,
value);
}
-
/**
* @return true, if the attribute was written
* @throws java.io.IOException
@@ -87,10 +81,8 @@
writer.writeAttribute(htmlAttrName, value, componentProperty);
return true;
}
-
return false;
}
-
/**
* See JSF Spec. 8.5 Table 8-1
* @param value
@@ -135,12 +127,10 @@
}
return false;
}
-
private HTML()
{
// disable instantiation
}
-
// Common attributes
public static final String ALIGN_ATTR = "align";
public static final String DATAFLD_ATTR = "datafld";
@@ -149,8 +139,8 @@
public static final String BORDER_ATTR = "border";
public static final String WIDTH_ATTR = "width";
public static final String READONLY_ATTR = "readonly";
+ public static final String FILE_ATTR = "file";
public static final String ACCEPT_ATTR = "accept";
-
// Common event handler attributes
public static final String ONCLICK_ATTR = "onclick";
public static final String ONDBLCLICK_ATTR = "ondblclick";
@@ -178,7 +168,6 @@
concat(
EVENT_HANDLER_ATTRIBUTES_WITHOUT_ONCLICK,
new String[] {ONCLICK_ATTR});
-
// Input field event handler attributes
public static final String ONFOCUS_ATTR = "onfocus";
public static final String ONBLUR_ATTR = "onblur";
@@ -191,14 +180,12 @@
ONSELECT_ATTR,
ONCHANGE_ATTR
};
-
public static final String[] COMMON_FIELD_EVENT_ATTRIBUTES_WITHOUT_ONFOCUS =
{
ONBLUR_ATTR,
ONSELECT_ATTR,
ONCHANGE_ATTR
};
-
// universal attributes
public static final String DIR_ATTR = "dir";
public static final String LANG_ATTR = "lang";
@@ -210,18 +197,15 @@
DIR_ATTR,
LANG_ATTR,
TITLE_ATTR,
-
//NOTE: if changed, please verify universal attributes in HtmlMessageRenderer !
};
public static final String[] UNIVERSAL_ATTRIBUTES =
concat(
UNIVERSAL_ATTRIBUTES_WITHOUT_STYLE,
new String[] {STYLE_ATTR, STYLE_CLASS_ATTR});
-
//universal, but not the same property-name -
//styleClass attribute is rendered as such
public static final String CLASS_ATTR = "class";
-
// common form field attributes
public static final String ACCESSKEY_ATTR = "accesskey";
public static final String TABINDEX_ATTR = "tabindex";
@@ -235,7 +219,6 @@
concat(
COMMON_FIELD_ATTRIBUTES_WITHOUT_DISABLED,
new String[] {DISABLED_ATTR});
-
// Common Attributes
public static final String[] COMMON_PASSTROUGH_ATTRIBUTES =
concat(
@@ -273,7 +256,6 @@
COMMON_PASSTROUGH_ATTRIBUTES_WITHOUT_ONCLICK,
COMMON_FIELD_ATTRIBUTES_WITHOUT_DISABLED,
COMMON_FIELD_EVENT_ATTRIBUTES);
-
// <a>
public static final String TARGET_ATTR = "target"; //used by <a> and <form>
public static final String CHARSET_ATTR = "charset";
@@ -309,7 +291,6 @@
concat(
ANCHOR_ATTRIBUTES,
COMMON_PASSTROUGH_ATTRIBUTES_WITHOUT_ONCLICK_WITHOUT_STYLE);
-
// <form>
public static final String ACCEPT_CHARSET_ATTR = "accept-charset";
public static final String ENCTYPE_ATTR = "enctype";
@@ -328,7 +309,6 @@
concat(
FORM_ATTRIBUTES,
COMMON_PASSTROUGH_ATTRIBUTES);
-
// <img>
public static final String SRC_ATTR = "src";
public static final String ALT_ATTR = "alt";
@@ -338,7 +318,6 @@
public static final String LONGDESC_ATTR = "longdesc";
public static final String USEMAP_ATTR = "usemap";
public static final String VSPACE_ATTR = "vspace";
-
public static final String[] IMG_ATTRIBUTES =
{
ALIGN_ATTR,
@@ -356,13 +335,11 @@
concat(
IMG_ATTRIBUTES,
COMMON_PASSTROUGH_ATTRIBUTES);
-
// <input>
public static final String SIZE_ATTR = "size";
private static final String AUTOCOMPLETE_ATTR = "autocomplete";
public static final String CHECKED_ATTR = "checked";
public static final String MAXLENGTH_ATTR = "maxlength";
-
public static final String[] INPUT_ATTRIBUTES = {
ALIGN_ATTR,
ALT_ATTR,
@@ -379,12 +356,10 @@
concat(
INPUT_ATTRIBUTES,
COMMON_FIELD_PASSTROUGH_ATTRIBUTES_WITHOUT_DISABLED);
-
public static final String[] INPUT_PASSTHROUGH_ATTRIBUTES_WITHOUT_DISABLED_AND_ONFOCUS_AND_ONCLICK =
concat(
INPUT_ATTRIBUTES,
COMMON_FIELD_PASSTROUGH_ATTRIBUTES_WITHOUT_DISABLED_AND_ONFOCUS_AND_ONCLICK);
-
//values for input-type attribute
public static final String INPUT_TYPE_SUBMIT = "submit";
public static final String INPUT_TYPE_IMAGE = "image";
@@ -394,7 +369,6 @@
public static final String INPUT_TYPE_TEXT = "text";
public static final String INPUT_TYPE_RADIO = "radio";
public static final String INPUT_TYPE_BUTTON = "button";
-
// <button>
public static final String[] BUTTON_ATTRIBUTES =
{
@@ -412,11 +386,9 @@
concat(
BUTTON_ATTRIBUTES,
COMMON_FIELD_PASSTROUGH_ATTRIBUTES_WITHOUT_DISABLED_AND_ONCLICK);
-
// <iframe>
public static final String FRAMEBORDER_ATTR = "frameborder";
public static final String SCROLLING_ATTR = "scrolling";
-
// <label>
public static final String FOR_ATTR = "for";
public static final String[] LABEL_ATTRIBUTES =
@@ -430,10 +402,8 @@
concat(
LABEL_ATTRIBUTES,
COMMON_PASSTROUGH_ATTRIBUTES);
-
// <select>
public static final String MULTIPLE_ATTR = "multiple";
-
public static final String[] SELECT_ATTRIBUTES =
{
DATAFLD_ATTR,
@@ -444,7 +414,6 @@
concat(
SELECT_ATTRIBUTES,
COMMON_FIELD_PASSTROUGH_ATTRIBUTES_WITHOUT_DISABLED);
-
// <table>
public static final String BGCOLOR_ATTR = "bgcolor";
public static final String CELLPADDING_ATTR = "cellpadding";
@@ -470,7 +439,6 @@
concat(
TABLE_ATTRIBUTES,
COMMON_PASSTROUGH_ATTRIBUTES);
-
// <textarea>
public static final String COLS_ATTR = "cols";
public static final String ROWS_ATTR = "rows";
@@ -487,7 +455,6 @@
concat(
TEXTAREA_ATTRIBUTES,
COMMON_FIELD_PASSTROUGH_ATTRIBUTES_WITHOUT_DISABLED);
-
// <input type=file>
public static final String[] INPUT_FILE_UPLOAD_ATTRIBUTES =
{
@@ -497,25 +464,19 @@
concat(
INPUT_FILE_UPLOAD_ATTRIBUTES,
INPUT_PASSTHROUGH_ATTRIBUTES_WITHOUT_DISABLED);
-
-
/*
public static final String[] MESSAGE_PASSTHROUGH_ATTRIBUTES =
concat(
new String[] {DIR_ATTR, LANG_ATTR, TITLE_ATTR, STYLE_ATTR, STYLE_CLASS_ATTR},
EVENT_HANDLER_ATTRIBUTES);
*/
-
public static final String[] MESSAGE_PASSTHROUGH_ATTRIBUTES_WITHOUT_TITLE_STYLE_AND_STYLE_CLASS =
concat(
new String[] {DIR_ATTR, LANG_ATTR},
EVENT_HANDLER_ATTRIBUTES);
-
-
// selectOne/Many table
public static final String[] SELECT_TABLE_PASSTHROUGH_ATTRIBUTES =
new String[] {STYLE_ATTR, STYLE_CLASS_ATTR, BORDER_ATTR};
-
public static final String COMPACT_ATTR = "compact";
public static final String[] UL_ATTRIBUTES = {
COMPACT_ATTR,
@@ -525,8 +486,6 @@
concat(
UL_ATTRIBUTES,
COMMON_PASSTROUGH_ATTRIBUTES);
-
-
//HTML attributes needed for renderding only
public static final String ID_ATTR = "id";
public static final String NAME_ATTR = "name";
@@ -537,10 +496,8 @@
public static final String SCOPE_ATTR = "scope";
public static final String LABEL_ATTR = "label";
public static final String SELECTED_ATTR = "selected";
-
//HTML attributes values
public static final String SCOPE_COLGROUP_VALUE = "colgroup";
-
//HTML element constants
public static final String SPAN_ELEM = "span";
public static final String DIV_ELEM = "div";
@@ -574,22 +531,15 @@
public static final String SCRIPT_TYPE_TEXT_JAVASCRIPT = "text/javascript";
public static final String SCRIPT_LANGUAGE_ATTR = "language";
public static final String SCRIPT_LANGUAGE_JAVASCRIPT = "JavaScript";
-
public static final String UL_ELEM = "ul";
public static final String OL_ELEM = "ol";
public static final String LI_ELEM = "li";
-
-
//HTML simple element constants
public static final String BR_ELEM = "br";
-
-
//HTML entities
public static final String NBSP_ENTITY = " ";
-
public static final String HREF_PATH_SEPARATOR = "/";
public static final String HREF_PATH_FROM_PARAM_SEPARATOR = "?";
public static final String HREF_PARAM_SEPARATOR = "&";
public static final String HREF_PARAM_NAME_FROM_VALUE_SEPARATOR = "=";
-
}
1.1 date: 2007/01/22 16:19:19; author: sbryzak2; state: Exp;jboss-seam/src/ui/org/jboss/seam/ui/FileUpload.java
Index: FileUpload.java
===================================================================
package org.jboss.seam.ui;
import java.io.IOException;
import javax.faces.component.UIComponentBase;
import javax.faces.context.FacesContext;
import javax.faces.context.ResponseWriter;
import org.jboss.seam.servlet.MultipartRequest;
/**
* A file upload component.
*
* @author Shane Bryzak
*/
public class FileUpload extends UIComponentBase
{
public static final String COMPONENT_TYPE = "org.jboss.seam.ui.FileUpload";
public static final String COMPONENT_FAMILY = "org.jboss.seam.ui.FileUpload";
@Override
public void decode(FacesContext context)
{
super.decode(context);
Object request = context.getExternalContext().getRequest();
if (request instanceof MultipartRequest)
{
MultipartRequest req = (MultipartRequest) request;
byte[] fileData = req.getFileBytes(getClientId(context));
getValueBinding("value").setValue(context, fileData);
}
}
@Override
public void encodeEnd(FacesContext context)
throws IOException
{
super.encodeEnd(context);
ResponseWriter writer = context.getResponseWriter();
writer.startElement(HTML.INPUT_ELEM, this);
writer.writeAttribute(HTML.TYPE_ATTR, HTML.FILE_ATTR, null);
String clientId = this.getClientId(context);
writer.writeAttribute(HTML.ID_ATTR, clientId, null);
writer.writeAttribute(HTML.NAME_ATTR, clientId, null);
writer.endElement(HTML.INPUT_ELEM);
}
@Override
public String getFamily()
{
return COMPONENT_FAMILY;
}
}
More information about the jboss-cvs-commits
mailing list