org.apache.struts2.components
Class UIBean

java.lang.Object
  extended by org.apache.struts2.components.Component
      extended by org.apache.struts2.components.UIBean
Direct Known Subclasses:
ActionError, ActionMessage, Checkbox, ClosingUIBean, Debug, FieldError, File, GenericUIBean, Head, Hidden, Label, ListUIBean, TextArea, TextField, Token

public abstract class UIBean
extends Component

UIBean is the standard superclass of all Struts UI componentns. It defines common Struts and html properties all UI components should present for usage.

Attribute Theme Data Types Description
templateDir n/a String define the template directory
theme n/a String define the theme name
template n/a String define the template name

Attribute Theme Data Types Description
cssClass simple String define html class attribute
cssStyle simple String define html style attribute
cssClass simple String error class attribute
cssStyle simple String error style attribute
title simple String define html title attribute
disabled simple String define html disabled attribute
label xhtml String define label of form element
labelPosition xhtml String define label position of form element (top/left), default to left
requiredposition xhtml String define required label position of form element (left/right), default to right
name simple String Form Element's field name mapping
required xhtml Boolean add * to label (true to add false otherwise)
tabIndex simple String define html tabindex attribute
value simple Object define value of form element

Attribute Theme Data Types Description
onclick simple String html javascript onclick attribute
ondblclick simple String html javascript ondbclick attribute
onmousedown simple String html javascript onmousedown attribute
onmouseup simple String html javascript onmouseup attribute
onmouseover simple String html javascript onmouseover attribute
onmouseout simple String html javascript onmouseout attribute
onfocus simple String html javascript onfocus attribute
onblur simple String html javascript onblur attribute
onkeypress simple String html javascript onkeypress attribute
onkeyup simple String html javascript onkeyup attribute
onkeydown simple String html javascript onkeydown attribute
onselect simple String html javascript onselect attribute
onchange simple String html javascript onchange attribute

Attribute Data Type Default Description
tooltip String none Set the tooltip of this particular component
jsTooltipEnabled String false Enable js tooltip rendering
tooltipIcon String /struts/static/tooltip/tooltip.gif The url to the tooltip icon
tooltipDelay String 500 Tooltip shows up after the specified timeout (miliseconds). A behavior similar to that of OS based tooltips.
key simple String The name of the property this input field represents. This will auto populate the name, label, and value
tooltipConfig is deprecated, use individual tooltip configuration attributes instead Every Form UI component (in xhtml / css_xhtml or any other that extends them) can have tooltips assigned to them. The Form component's tooltip related attribute, once defined, will be applied to all form UI components that are created under it unless explicitly overriden by having the Form UI component itself defined with their own tooltip attribute.

In Example 1, the textfield will inherit the tooltipDelay and tooltipIconPath attribte from its containing form. In other words, although it doesn't define a tooltipIconPath attribute, it will have that attribute inherited from its containing form.

In Example 2, the textfield will inherite both the tooltipDelay and tooltipIconPath attribute from its containing form, but the tooltipDelay attribute is overriden at the textfield itself. Hence, the textfield actually will have its tooltipIcon defined as /myImages/myIcon.gif, inherited from its containing form, and tooltipDelay defined as 5000.

Example 3, 4 and 5 show different ways of setting the tooltip configuration attribute.
Example 3: Set tooltip config through the body of the param tag
Example 4: Set tooltip config through the value attribute of the param tag
Example 5: Set tooltip config through the tooltip attributes of the component tag

 

 <!-- Example 1: -->
 <s:form
          tooltipDelay="500"
          tooltipIconPath="/myImages/myIcon.gif" .... >
   ....
     <s:textfield label="Customer Name" tooltip="Enter the customer name" .... />
   ....
 </s:form>

 <!-- Example 2: -->
 <s:form
          tooltipDelay="500"
          tooltipIconPath="/myImages/myIcon.gif" .... >
   ....
     <s:textfield label="Address"
          tooltip="Enter your address"
          tooltipDelay="5000" />
   ....
 </s:form>


 <-- Example 3: -->
 <s:textfield
        label="Customer Name"
        tooltip="One of our customer Details">
        <s:param name="tooltipDelay">
             500
        </s:param>
        <s:param name="tooltipIconPath">
             /myImages/myIcon.gif
        </s:param>
 </s:textfield>


 <-- Example 4: -->
 <s:textfield
          label="Customer Address"
          tooltip="Enter The Customer Address" >
          <s:param
              name="tooltipDelay"
              value="500" />
 </s:textfield>


 <-- Example 5: -->
 <s:textfield
          label="Customer Telephone Number"
          tooltip="Enter customer Telephone Number"
          tooltipDelay="500"
          tooltipIconPath="/myImages/myIcon.gif" />

 
 


Field Summary
protected  String accesskey
           
protected  String cssClass
           
protected  String cssErrorClass
           
protected  String cssErrorStyle
           
protected  String cssStyle
           
protected  String defaultTemplateDir
           
protected  String defaultUITheme
           
protected  String disabled
           
protected  Map<String,Object> dynamicAttributes
           
protected  String id
           
protected  String javascriptTooltip
           
protected  String key
           
protected  String label
           
protected  String labelPosition
           
protected  String labelSeparator
           
protected  String name
           
protected  String onblur
           
protected  String onchange
           
protected  String onclick
           
protected  String ondblclick
           
protected  String onfocus
           
protected  String onkeydown
           
protected  String onkeypress
           
protected  String onkeyup
           
protected  String onmousedown
           
protected  String onmousemove
           
protected  String onmouseout
           
protected  String onmouseover
           
protected  String onmouseup
           
protected  String onselect
           
protected  javax.servlet.http.HttpServletRequest request
           
protected  String required
           
protected  String requiredposition
           
protected  javax.servlet.http.HttpServletResponse response
           
protected static Map<Class,Set<String>> standardAttributesMap
           
protected  String tabindex
           
protected  String template
           
protected  String templateDir
           
protected  TemplateEngineManager templateEngineManager
           
protected  String templateSuffix
           
protected  String theme
           
protected  String title
           
protected  String tooltip
           
protected  String tooltipConfig
           
protected  String tooltipCssClass
           
protected  String tooltipDelay
           
protected  String tooltipIconPath
           
protected  String value
           
 
Fields inherited from class org.apache.struts2.components.Component
actionMapper, COMPONENT_STACK, parameters, stack, throwExceptionOnELFailure
 
Constructor Summary
UIBean(ValueStack stack, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
           
 
Method Summary
 void addFormParameter(String key, Object value)
           
protected  Template buildTemplateName(String myTemplate, String myDefaultTemplate)
           
 void copyParams(Map params)
          Pushes this component's parameter Map as well as the component itself on to the stack and then copies the supplied parameters over.
protected  void enableAncestorFormCustomOnsubmit()
           
 boolean end(Writer writer, String body)
          Callback for the end tag of this component.
protected  String ensureAttributeSafelyNotEscaped(String val)
          Ensures an unescaped attribute value cannot be vulnerable to XSS attacks
protected  String escape(String name)
           
protected  void evaluateExtraParams()
           
protected  boolean evaluateNameValue()
           
 void evaluateParams()
           
protected abstract  String getDefaultTemplate()
          A contract that requires each concrete UI Tag to specify which template should be used as a default.
 String getId()
          Get's the id for referencing element.
protected  Set<String> getStandardAttributes()
           
 String getTemplate()
           
 String getTemplateDir()
           
 String getTheme()
           
protected  Map getTooltipConfig(UIBean component)
           
protected  Class getValueClassType()
           
protected  void mergeTemplate(Writer writer, Template template)
           
protected  void populateComponentHtmlId(Form form)
          Create HTML id element for the component and populate this component parmaeter map.
 void setAccesskey(String accesskey)
           
 void setCssClass(String cssClass)
           
 void setCssErrorClass(String cssErrorClass)
           
 void setCssErrorStyle(String cssErrorStyle)
           
 void setCssStyle(String cssStyle)
           
 void setDefaultTemplateDir(String dir)
           
 void setDefaultUITheme(String theme)
           
 void setDisabled(String disabled)
           
 void setDynamicAttributes(Map<String,Object> dynamicAttributes)
           
 void setId(String id)
           
 void setJavascriptTooltip(String javascriptTooltip)
           
 void setKey(String key)
           
 void setLabel(String label)
           
 void setLabelposition(String labelPosition)
           
 void setLabelSeparator(String labelseparator)
           
 void setName(String name)
           
 void setOnblur(String onblur)
           
 void setOnchange(String onchange)
           
 void setOnclick(String onclick)
           
 void setOndblclick(String ondblclick)
           
 void setOnfocus(String onfocus)
           
 void setOnkeydown(String onkeydown)
           
 void setOnkeypress(String onkeypress)
           
 void setOnkeyup(String onkeyup)
           
 void setOnmousedown(String onmousedown)
           
 void setOnmousemove(String onmousemove)
           
 void setOnmouseout(String onmouseout)
           
 void setOnmouseover(String onmouseover)
           
 void setOnmouseup(String onmouseup)
           
 void setOnselect(String onselect)
           
 void setRequired(String required)
           
 void setRequiredposition(String requiredposition)
           
 void setTabindex(String tabindex)
           
 void setTemplate(String template)
           
 void setTemplateDir(String templateDir)
           
 void setTemplateEngineManager(TemplateEngineManager mgr)
           
 void setTheme(String theme)
           
 void setTitle(String title)
           
 void setTooltip(String tooltip)
           
 void setTooltipConfig(String tooltipConfig)
           
 void setTooltipCssClass(String tooltipCssClass)
           
 void setTooltipDelay(String tooltipDelay)
           
 void setTooltipIconPath(String tooltipIconPath)
           
 void setValue(String value)
           
 
Methods inherited from class org.apache.struts2.components.Component
addAllParameters, addParameter, altSyntax, altSyntax, completeExpressionIfAltSyntax, determineActionURL, determineNamespace, end, fieldError, findAncestor, findString, findString, findStringIfAltSyntax, findValue, findValue, findValue, getComponentStack, getParameters, getStack, popComponentStack, setActionMapper, setThrowExceptionsOnELFailure, setUrlHelper, start, stripExpressionIfAltSyntax, stripExpressionIfAltSyntax, toString, usesBody
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

request

protected javax.servlet.http.HttpServletRequest request

response

protected javax.servlet.http.HttpServletResponse response

templateSuffix

protected String templateSuffix

template

protected String template

templateDir

protected String templateDir

theme

protected String theme

key

protected String key

id

protected String id

cssClass

protected String cssClass

cssStyle

protected String cssStyle

cssErrorClass

protected String cssErrorClass

cssErrorStyle

protected String cssErrorStyle

disabled

protected String disabled

label

protected String label

labelPosition

protected String labelPosition

labelSeparator

protected String labelSeparator

requiredposition

protected String requiredposition

name

protected String name

required

protected String required

tabindex

protected String tabindex

value

protected String value

title

protected String title

onclick

protected String onclick

ondblclick

protected String ondblclick

onmousedown

protected String onmousedown

onmouseup

protected String onmouseup

onmouseover

protected String onmouseover

onmousemove

protected String onmousemove

onmouseout

protected String onmouseout

onfocus

protected String onfocus

onblur

protected String onblur

onkeypress

protected String onkeypress

onkeydown

protected String onkeydown

onkeyup

protected String onkeyup

onselect

protected String onselect

onchange

protected String onchange

accesskey

protected String accesskey

tooltip

protected String tooltip

tooltipConfig

protected String tooltipConfig

javascriptTooltip

protected String javascriptTooltip

tooltipDelay

protected String tooltipDelay

tooltipCssClass

protected String tooltipCssClass

tooltipIconPath

protected String tooltipIconPath

dynamicAttributes

protected Map<String,Object> dynamicAttributes

defaultTemplateDir

protected String defaultTemplateDir

defaultUITheme

protected String defaultUITheme

templateEngineManager

protected TemplateEngineManager templateEngineManager

standardAttributesMap

protected static Map<Class,Set<String>> standardAttributesMap
Constructor Detail

UIBean

public UIBean(ValueStack stack,
              javax.servlet.http.HttpServletRequest request,
              javax.servlet.http.HttpServletResponse response)
Method Detail

setDefaultTemplateDir

public void setDefaultTemplateDir(String dir)

setDefaultUITheme

public void setDefaultUITheme(String theme)

setTemplateEngineManager

public void setTemplateEngineManager(TemplateEngineManager mgr)

end

public boolean end(Writer writer,
                   String body)
Description copied from class: Component
Callback for the end tag of this component. Should the body be evaluated again?

NOTE: will pop component stack.

Overrides:
end in class Component
Parameters:
writer - the output writer.
body - the rendered body.
Returns:
true if the body should be evaluated again

getDefaultTemplate

protected abstract String getDefaultTemplate()
A contract that requires each concrete UI Tag to specify which template should be used as a default. For example, the CheckboxTab might return "checkbox.vm" while the RadioTag might return "radio.vm". This value not begin with a '/' unless you intend to make the path absolute rather than relative to the current theme.

Returns:
The name of the template to be used as the default.

buildTemplateName

protected Template buildTemplateName(String myTemplate,
                                     String myDefaultTemplate)

mergeTemplate

protected void mergeTemplate(Writer writer,
                             Template template)
                      throws Exception
Throws:
Exception

getTemplateDir

public String getTemplateDir()

getTheme

public String getTheme()

evaluateParams

public void evaluateParams()

escape

protected String escape(String name)

ensureAttributeSafelyNotEscaped

protected String ensureAttributeSafelyNotEscaped(String val)
Ensures an unescaped attribute value cannot be vulnerable to XSS attacks

Parameters:
val - The value to check
Returns:
The escaped value

evaluateExtraParams

protected void evaluateExtraParams()

evaluateNameValue

protected boolean evaluateNameValue()

getValueClassType

protected Class getValueClassType()

addFormParameter

public void addFormParameter(String key,
                             Object value)

enableAncestorFormCustomOnsubmit

protected void enableAncestorFormCustomOnsubmit()

getTooltipConfig

protected Map getTooltipConfig(UIBean component)

populateComponentHtmlId

protected void populateComponentHtmlId(Form form)
Create HTML id element for the component and populate this component parmaeter map. Additionally, a parameter named escapedId is populated which contains the found id value filtered by escape(String), needed eg. for naming Javascript identifiers based on the id value. The order is as follows :-
  1. This component id attribute
  2. [containing_form_id]_[this_component_name]
  3. [this_component_name]

Parameters:
form -

getId

public String getId()
Get's the id for referencing element.

Returns:
the id for referencing element.

setId

public void setId(String id)

setTemplateDir

public void setTemplateDir(String templateDir)

setTheme

public void setTheme(String theme)

getTemplate

public String getTemplate()

setTemplate

public void setTemplate(String template)

setCssClass

public void setCssClass(String cssClass)

setCssStyle

public void setCssStyle(String cssStyle)

setCssErrorClass

public void setCssErrorClass(String cssErrorClass)

setCssErrorStyle

public void setCssErrorStyle(String cssErrorStyle)

setTitle

public void setTitle(String title)

setDisabled

public void setDisabled(String disabled)

setLabel

public void setLabel(String label)

setLabelSeparator

public void setLabelSeparator(String labelseparator)

setLabelposition

public void setLabelposition(String labelPosition)

setRequiredposition

public void setRequiredposition(String requiredposition)

setName

public void setName(String name)

setRequired

public void setRequired(String required)

setTabindex

public void setTabindex(String tabindex)

setValue

public void setValue(String value)

setOnclick

public void setOnclick(String onclick)

setOndblclick

public void setOndblclick(String ondblclick)

setOnmousedown

public void setOnmousedown(String onmousedown)

setOnmouseup

public void setOnmouseup(String onmouseup)

setOnmouseover

public void setOnmouseover(String onmouseover)

setOnmousemove

public void setOnmousemove(String onmousemove)

setOnmouseout

public void setOnmouseout(String onmouseout)

setOnfocus

public void setOnfocus(String onfocus)

setOnblur

public void setOnblur(String onblur)

setOnkeypress

public void setOnkeypress(String onkeypress)

setOnkeydown

public void setOnkeydown(String onkeydown)

setOnkeyup

public void setOnkeyup(String onkeyup)

setOnselect

public void setOnselect(String onselect)

setOnchange

public void setOnchange(String onchange)

setAccesskey

public void setAccesskey(String accesskey)

setTooltip

public void setTooltip(String tooltip)

setTooltipConfig

public void setTooltipConfig(String tooltipConfig)

setKey

public void setKey(String key)

setJavascriptTooltip

public void setJavascriptTooltip(String javascriptTooltip)

setTooltipCssClass

public void setTooltipCssClass(String tooltipCssClass)

setTooltipDelay

public void setTooltipDelay(String tooltipDelay)

setTooltipIconPath

public void setTooltipIconPath(String tooltipIconPath)

setDynamicAttributes

public void setDynamicAttributes(Map<String,Object> dynamicAttributes)

copyParams

public void copyParams(Map params)
Description copied from class: Component
Pushes this component's parameter Map as well as the component itself on to the stack and then copies the supplied parameters over. Because the component's parameter Map is pushed before the component itself, any key-value pair that can't be assigned to componet will be set in the parameters Map.

Overrides:
copyParams in class Component
Parameters:
params - the parameters to copy.

getStandardAttributes

protected Set<String> getStandardAttributes()


Copyright © 2000-2012 Apache Software Foundation. All Rights Reserved.