Class MultiSelectBoxDisplay<K,T>
java.lang.Object
name.matthewgreet.strutscommons.view.MultiSelectBoxDisplay<K,T>
Abstract Template that aids creation of OPTION tags in JSPs for multi selection SELECT elements by formatting model
for display. See
SelectBoxItemDisplay2. The model is expected to be collection of Data Transfer Objects
whose type is defined by the implementing subclass.
Example JSP code:
<SELECT SIZE="6" NAME="serviceIds" MULTIPLE>
<s:iterator value="serviceMultiSelectBoxDisplay.list" var="serviceDisplay">
<OPTION VALUE="<s:property value="#serviceDisplay.value"/>" <s:property value="#serviceDisplay.selectedAttribute"/>><s:property value="#serviceDisplay.text"/></OPTION>
</s:iterator>
</SELECT>
-
Nested Class Summary
Nested Classes -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddItems(List<SelectBoxItemDisplay2<K, T>> formattedModel) May be overridden by subclasses to add additional, formatted items to the display list.protected abstract KOverridden by subclasses to return unformatted identifier of item record.getList()Returns formatted version of list for human display.Returns selected, formatted item or null if none selected.protected Comparator<SelectBoxItemDisplay2<K, T>> May be overridden by subclasses to return a comparator for defining display order of formatted items.protected abstract StringOverridden by subclasses to return formatted text to be displayed to user as part of OPTION element.protected abstract StringOverridden by subclasses to return string to be used in VALUE attribute of OPTION element.protected booleanMay be overridden by subclasses to filter items in lookup list from display.voidsetList(List<SelectBoxItemDisplay2<K, T>> value) Directly sets formatted list.voidsetModel(Collection<T> model) Sets unformatted values and creates formatted, sorted list from it.voidsetSelectedFormattedValues(Collection<String> values) Selects items matching formatted identifiers.voidsetSelectedValues(Collection<K> keys) Selects items matching unformatted identifiers.
-
Constructor Details
-
MultiSelectBoxDisplay
public MultiSelectBoxDisplay()
-
-
Method Details
-
addItems
May be overridden by subclasses to add additional, formatted items to the display list. This is typically used to add a blank item to represent no value or text that demands a real value is selected. This is called after sorting.- Parameters:
formattedModel- List ofSelectBoxItemDisplay
-
getKey
Overridden by subclasses to return unformatted identifier of item record. This is the value used to match the parameters ofsetSelectedValues(java.util.Collection<K>).- Parameters:
item- Member of raw data list to be displayed.
-
getSortComparator
May be overridden by subclasses to return a comparator for defining display order of formatted items. Comparator compares instances ofSelectBoxItemDisplay2that are allowed by subclass. Defaults to comparator that sorts by ascending display text. -
getText
Overridden by subclasses to return formatted text to be displayed to user as part of OPTION element.- Parameters:
item- Member of raw data list to be displayed.
-
getValue
Overridden by subclasses to return string to be used in VALUE attribute of OPTION element. This is the formatted version of the item record identifier and is the value used to match the parameters of#setSelectedFormattedValues.- Parameters:
item- Member of raw data list to be displayed.
-
isAllowed
May be overridden by subclasses to filter items in lookup list from display. Defaults to allow all items.- Parameters:
item- Member of raw data list to be displayed.
-
getList
Returns formatted version of list for human display. -
getSelectedItems
Returns selected, formatted item or null if none selected. -
setList
Directly sets formatted list. The value must already be sorted. -
setModel
Sets unformatted values and creates formatted, sorted list from it. -
setSelectedFormattedValues
Selects items matching formatted identifiers. These match the OPTION tag VALUE attributes.- Parameters:
values- Formatted identifiers of selected items or null or empty collection to select none.
-
setSelectedValues
Selects items matching unformatted identifiers. Formatted version of key matches the OPTION tag VALUE attribute.- Parameters:
keys- ids of selected items or null or empty collection to select none.
-