org.springframework.web.servlet.tags
Class MessageTag

java.lang.Object
  extended byjavax.servlet.jsp.tagext.TagSupport
      extended byorg.springframework.web.servlet.tags.RequestContextAwareTag
          extended byorg.springframework.web.servlet.tags.HtmlEscapingAwareTag
              extended byorg.springframework.web.servlet.tags.MessageTag
All Implemented Interfaces:
IterationTag, JspTag, Serializable, Tag, TryCatchFinally
Direct Known Subclasses:
ThemeTag

public class MessageTag
extends HtmlEscapingAwareTag

Custom JSP tag to look up a message in the scope of this page. Messages are looked up using the ApplicationContext, and thus should support internationalization.

Regards a HTML escaping setting, either on this tag instance, the page level, or the web.xml level. Can also apply JavaScript escaping.

If "code" isn't set or cannot be resolved, "text" will be used as default message. Thus, this tag can also be used for HTML escaping of any texts.

Author:
Rod Johnson, Juergen Hoeller
See Also:
setCode(java.lang.String), setText(java.lang.String), HtmlEscapingAwareTag.setHtmlEscape(java.lang.String), setJavaScriptEscape(java.lang.String), HtmlEscapeTag.setDefaultHtmlEscape(java.lang.String), WebUtils.HTML_ESCAPE_CONTEXT_PARAM, Serialized Form

Field Summary
 
Fields inherited from class org.springframework.web.servlet.tags.RequestContextAwareTag
logger, REQUEST_CONTEXT_PAGE_ATTRIBUTE
 
Fields inherited from class javax.servlet.jsp.tagext.TagSupport
id, pageContext
 
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
MessageTag()
           
 
Method Summary
protected  int doStartTagInternal()
          Called by doStartTag to perform the actual work.
protected  MessageSource getMessageSource()
          Use the application context itself for default message resolution.
protected  String getNoSuchMessageExceptionDescription(NoSuchMessageException ex)
          Return default exception message.
 void setArguments(Object arguments)
          Set optional message arguments for this tag, as a comma-delimited String (each String argument can contain JSP EL), an Object array (used as argument array), or a single Object (used as single argument).
 void setCode(String code)
          Set the message code for this tag.
 void setJavaScriptEscape(String javaScriptEscape)
          Set JavaScript escaping for this tag, as boolean value.
 void setScope(String scope)
          Set the scope to export the variable to.
 void setText(String text)
          Set the message text for this tag.
 void setVar(String var)
          Set PageContext attribute name under which to expose a variable that contains the resolved message.
protected  void writeMessage(String msg)
          Write the message to the page.
 
Methods inherited from class org.springframework.web.servlet.tags.HtmlEscapingAwareTag
isHtmlEscape, setHtmlEscape
 
Methods inherited from class org.springframework.web.servlet.tags.RequestContextAwareTag
doCatch, doFinally, doStartTag, getRequestContext
 
Methods inherited from class javax.servlet.jsp.tagext.TagSupport
doAfterBody, doEndTag, findAncestorWithClass, getId, getParent, getValue, getValues, release, removeValue, setId, setPageContext, setParent, setValue
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MessageTag

public MessageTag()
Method Detail

setCode

public void setCode(String code)
Set the message code for this tag.


setArguments

public void setArguments(Object arguments)
Set optional message arguments for this tag, as a comma-delimited String (each String argument can contain JSP EL), an Object array (used as argument array), or a single Object (used as single argument).


setText

public void setText(String text)
Set the message text for this tag.


setVar

public void setVar(String var)
Set PageContext attribute name under which to expose a variable that contains the resolved message.

See Also:
setScope(java.lang.String), JspContext.setAttribute(java.lang.String, java.lang.Object)

setScope

public void setScope(String scope)
Set the scope to export the variable to. Default is SCOPE_PAGE ("page").

See Also:
setVar(java.lang.String), TagUtils.SCOPE_PAGE, JspContext.setAttribute(java.lang.String, java.lang.Object)

setJavaScriptEscape

public void setJavaScriptEscape(String javaScriptEscape)
                         throws JspException
Set JavaScript escaping for this tag, as boolean value. Default is false.

Throws:
JspException

doStartTagInternal

protected final int doStartTagInternal()
                                throws JspException,
                                       IOException
Description copied from class: RequestContextAwareTag
Called by doStartTag to perform the actual work.

Specified by:
doStartTagInternal in class RequestContextAwareTag
Returns:
same as TagSupport.doStartTag
Throws:
JspException
IOException
See Also:
TagSupport.doStartTag()

writeMessage

protected void writeMessage(String msg)
                     throws IOException
Write the message to the page.

Can be overridden in subclasses, e.g. for testing purposes.

Parameters:
msg - the message to write
Throws:
IOException - if writing failed

getMessageSource

protected MessageSource getMessageSource()
Use the application context itself for default message resolution.


getNoSuchMessageExceptionDescription

protected String getNoSuchMessageExceptionDescription(NoSuchMessageException ex)
Return default exception message.



Copyright (C) 2003-2004 The Spring Framework Project.