Class SetContentBundleTag

java.lang.Object
javax.servlet.jsp.tagext.TagSupport
com.day.cq.wcm.tags.SetContentBundleTag
All Implemented Interfaces:
Serializable, IterationTag, JspTag, Tag

public class SetContentBundleTag extends TagSupport
SetContentBundleTag implements a custom tag, which sets a LocalizationContext backed with a ContentResourceBundle. This allows one to use property names as keys in a JSTL formatting action and use the value of the property as localized message.

The provided resource bundle also uses the resource bundle provided by CQ as a fallback if the underlying Resource does not contain a certain key.

The language/locale of the CQ resource bundle is determined depending on the "source" attribute, which can be either

  • static use "language" attribute,
  • request uses request.getLocale(),
  • page uses language of the current page or resource or
  • auto page if available, otherwise use locale from request.
Defaults to "auto" or "static", if "language" is set. For "page" the "language" attribute will be used as fallback, if given. If the "language" attribute is not set, but expected, the server default locale will be used.
See Also:
  • Constructor Details

    • SetContentBundleTag

      public SetContentBundleTag()
  • Method Details

    • doEndTag

      public int doEndTag()
      Sets a default LocalizationContext in Config with a page scope.
      Specified by:
      doEndTag in interface Tag
      Overrides:
      doEndTag in class TagSupport
      Returns:
      Tag.EVAL_PAGE.
      See Also:
    • setSource

      public void setSource(String source) throws JspException
      Throws:
      JspException
    • getSource

      public String getSource()
    • getLanguage

      public String getLanguage()
      Returns:
      the currently set language that should be used or null if the language should be derived from the path of the current resource.
    • setLanguage

      public void setLanguage(String language)
      Parameters:
      language - the language that will be used when a resource bundle is obtained.
    • getBasename

      public String getBasename()
      Returns:
      the currently set basename that should be used or null.
    • setBasename

      public void setBasename(String basename)
      Parameters:
      basename - the basename that will be used when a resource bundle is obtained.