UISelectMany (Java EE 5 SDK)

Java

Java EE 5 SDK

深圳电信培训中心.徐海蛟老师.


javax.faces.component Class UISelectMany

java.lang.Object
  extended by javax.faces.component.UIComponent
      extended by javax.faces.component.UIComponentBase
          extended by javax.faces.component.UIOutput
              extended by javax.faces.component.UIInput
                  extended by javax.faces.component.UISelectMany
所有已实现的接口:
EditableValueHolder, StateHolder, ValueHolder
直接已知子类:
HtmlSelectManyCheckbox, HtmlSelectManyListbox, HtmlSelectManyMenu

public class UISelectMany
extends UIInput

UISelectMany is a UIComponent that represents the user's choice of a zero or more items from among a discrete set of available options. The user can modify the selected values. Optionally, the component can be preconfigured with zero or more currently selected items, by storing them as an array in the value property of the component.

This component is generally rendered as a select box or a group of checkboxes.

By default, the rendererType property must be set to "javax.faces.Listbox". This value can be changed by calling the setRendererType() method.

The Renderer for this component must perform the following logic on getConvertedValue():

    Obtain the Converter using the following algorithm:

      If the component has an attached Converter, use it.

      If not, look for a ValueExpression for value (if any). The ValueExpression must point to something that is:

      • An array of primitives (such as int[]). Look up the registered by-class Converter for this primitive type.
      • An array of objects (such as Integer[] or String[]). Look up the registered by-class Converter for the underlying element type.
      • A java.util.List. Assume that the element type is java.lang.String, so no conversion is required.

      If for any reason a Converter cannot be found, assume the type to be a String array.

    Use the selected Converter (if any) to convert each element in the values array or list from the request to the proper type. If the component has a ValueBinding for value, create an array of the expected type to hold the converted values. If the component does not have a ValueBinding for value, create an array of type Object. Store the created array as the local value of the component, set the component's valid state to true and return.


字段摘要
static String COMPONENT_FAMILY
          The standard component family for this component.
static String COMPONENT_TYPE
          The standard component type for this component.
static String INVALID_MESSAGE_ID
          The message identifier of the FacesMessage to be created if a value not matching the available options is specified.
 
Fields inherited from class javax.faces.component.UIInput
CONVERSION_MESSAGE_ID, REQUIRED_MESSAGE_ID, UPDATE_MESSAGE_ID
 
Fields inherited from class javax.faces.component.UIComponent
bindings
 
构造器摘要
UISelectMany()
          Create a new UISelectMany instance with default property values.
 
方法摘要
protected  boolean compareValues(Object previous, Object value)
          Return true if the new value is different from the previous value.
 String getFamily()
          Return the identifier of the component family to which this component belongs.
 Object[] getSelectedValues()
          Return the currently selected values, or null if there are no currently selected values.
 ValueBinding getValueBinding(String name)
          Deprecated. this has been replaced by getValueExpression(java.lang.String).
 ValueExpression getValueExpression(String name)
          Return any ValueExpression set for value if a ValueExpression for selectedValues is requested; otherwise, perform the default superclass processing for this method.
 void setSelectedValues(Object[] selectedValues)
          Set the currently selected values, or null to indicate that there are no currently selected values.
 void setValueBinding(String name, ValueBinding binding)
          Deprecated. This has been replaced by setValueExpression(java.lang.String, javax.el.ValueExpression).
 void setValueExpression(String name, ValueExpression binding)
          Store any ValueExpression specified for selectedValues under value instead; otherwise, perform the default superclass processing for this method.
protected  void validateValue(FacesContext context, Object value)
          In addition to the standard validation behavior inherited from UIInput, ensure that any specified values are equal to one of the available options.
 
类方法继承 javax.faces.component.UIInput
addValidator, addValueChangeListener, decode, getConvertedValue, getConverterMessage, getRequiredMessage, getSubmittedValue, getValidator, getValidatorMessage, getValidators, getValueChangeListener, getValueChangeListeners, isImmediate, isLocalValueSet, isRequired, isValid, processDecodes, processUpdates, processValidators, removeValidator, removeValueChangeListener, resetValue, restoreState, saveState, setConverterMessage, setImmediate, setLocalValueSet, setRequired, setRequiredMessage, setSubmittedValue, setValid, setValidator, setValidatorMessage, setValue, setValueChangeListener, updateModel, validate
 
类方法继承 javax.faces.component.UIOutput
getConverter, getLocalValue, getValue, setConverter
 
类方法继承 javax.faces.component.UIComponentBase
addFacesListener, broadcast, encodeBegin, encodeChildren, encodeEnd, findComponent, getAttributes, getChildCount, getChildren, getClientId, getFacesContext, getFacesListeners, getFacet, getFacetCount, getFacets, getFacetsAndChildren, getId, getParent, getRenderer, getRendererType, getRendersChildren, invokeOnComponent, isRendered, isTransient, processRestoreState, processSaveState, queueEvent, removeFacesListener, restoreAttachedState, saveAttachedState, setId, setParent, setRendered, setRendererType, setTransient
 
类方法继承 javax.faces.component.UIComponent
encodeAll, getContainerClientId
 
类方法继承 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.faces.component.ValueHolder
getConverter, getLocalValue, getValue, setConverter
 

字段详细信息

COMPONENT_TYPE

public static final String COMPONENT_TYPE

The standard component type for this component.

另请参见:
常量字段


COMPONENT_FAMILY

public static final String COMPONENT_FAMILY

The standard component family for this component.

另请参见:
常量字段


INVALID_MESSAGE_ID

public static final String INVALID_MESSAGE_ID

The message identifier of the FacesMessage to be created if a value not matching the available options is specified.

另请参见:
常量字段

构造器详细信息

UISelectMany

public UISelectMany()

Create a new UISelectMany instance with default property values.

方法详细信息

getFamily

public String getFamily()
Description copied from class: UIComponent

Return the identifier of the component family to which this component belongs. This identifier, in conjunction with the value of the rendererType property, may be used to select the appropriate Renderer for this component instance.

重写:
getFamily in class UIInput

getSelectedValues

public Object[] getSelectedValues()

Return the currently selected values, or null if there are no currently selected values. This is a typesafe alias for getValue().


setSelectedValues

public void setSelectedValues(Object[] selectedValues)

Set the currently selected values, or null to indicate that there are no currently selected values. This is a typesafe alias for setValue().

参数:
selectedValues - The new selected values (if any)

getValueBinding

public ValueBinding getValueBinding(String name)
Deprecated. this has been replaced by getValueExpression(java.lang.String).

Return any ValueBinding set for value if a ValueBinding for selectedValues is requested; otherwise, perform the default superclass processing for this method.

This method relies on the superclass to provide the ValueExpression to ValueBinding wrapping.

重写:
getValueBinding in class UIComponentBase
参数:
name - Name of the attribute or property for which to retrieve a ValueBinding
抛出异常:
NullPointerException - if name is null

setValueBinding

public void setValueBinding(String name,
                            ValueBinding binding)
Deprecated. This has been replaced by setValueExpression(java.lang.String, javax.el.ValueExpression).

Store any ValueBinding specified for selectedValues under value instead; otherwise, perform the default superclass processing for this method.

This method relies on the superclass to wrap the argument ValueBinding in a ValueExpression.

重写:
setValueBinding in class UIComponentBase
参数:
name - Name of the attribute or property for which to set a ValueBinding
binding - The ValueBinding to set, or null to remove any currently set ValueBinding
抛出异常:
NullPointerException - if name is null

getValueExpression

public ValueExpression getValueExpression(String name)

Return any ValueExpression set for value if a ValueExpression for selectedValues is requested; otherwise, perform the default superclass processing for this method.

重写:
getValueExpression in class UIComponent
参数:
name - Name of the attribute or property for which to retrieve a ValueExpression
抛出异常:
NullPointerException - if name is null
从以下版本开始:
1.2

setValueExpression

public void setValueExpression(String name,
                               ValueExpression binding)

Store any ValueExpression specified for selectedValues under value instead; otherwise, perform the default superclass processing for this method.

重写:
setValueExpression in class UIComponent
参数:
name - Name of the attribute or property for which to set a ValueExpression
binding - The ValueExpression to set, or null to remove any currently set ValueExpression
抛出异常:
NullPointerException - if name is null
从以下版本开始:
1.2

compareValues

protected boolean compareValues(Object previous,
                                Object value)

Return true if the new value is different from the previous value. Value comparison must not be sensitive to element order.

重写:
compareValues in class UIInput
参数:
previous - old value of this component
value - new value of this component

validateValue

protected void validateValue(FacesContext context,
                             Object value)

In addition to the standard validation behavior inherited from UIInput, ensure that any specified values are equal to one of the available options. Before comparing each option, coerce the option value type to the type of this component's value following the Expression Language coercion rules. If the specified value is not equal to any of the options, enqueue an error message and set the valid property to false.

重写:
validateValue in class UIInput
参数:
context - The FacesContext for the current request
value - The converted value to test for membership.
抛出异常:
NullPointerException - if context is null

Java EE 5 SDK

深圳电信培训中心.徐海蛟老师.


提交错误或意见

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。深圳电信培训中心.徐海蛟老师教学参考.