Class CmsJspTagProperty

  • All Implemented Interfaces:
    java.io.Serializable, javax.servlet.jsp.tagext.IterationTag, javax.servlet.jsp.tagext.JspTag, javax.servlet.jsp.tagext.Tag

    public class CmsJspTagProperty
    extends javax.servlet.jsp.tagext.TagSupport
    Provides access to the properties of a resource in the OpenCms VFS .

    Of particular importance is the setting of the file attribute, which can take the following values.

    This attribute allows you to specify where to search for the property.
    The following values are supported:

    uri (default)
    Look up the property on the file with the uri requested by the user.
    search.uri or search
    Look up the property by also checking all parent folders for the property, starting with the file with uri requested by the user and going "upward" if the property was not found there.
    element.uri
    Look up the property on the currently processed sub - element. This is useful in templates or other pages that consist of many elements.
    search.element.uri
    Look up the property by also checking all parent folders for the property, starting with the file with the currently processed sub - element and going "upward" if the property was not found there.
    sitemap
    reads from the current sitemap entry
    search.sitemap
    Look up the property by also checking all parent sitemap entries for the property, starting with the current sitemap entry and going "upward" if the property was not found there.
    container
    reads from the current container element
    {some-file-uri}
    Look up the property on that exact file uri in the OpenCms VFS, fallback if no other valid option is selected for the file attribute.

    There are also some deprecated options for the "file" value that are still supported but should not longer be used:

    parent
    same as uri
    search-parent
    same as search.uri
    this
    same as element.uri
    search-this
    same as search.element.uri
    Since:
    6.0.0
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  CmsJspTagProperty.CmsPropertyAction
      Tells for which resource properties should be looked up (with or without searching), depending on the CmsJspTagProperty.FileUse.
    • Field Summary

      • 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
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int doEndTag()  
      int doStartTag()  
      java.lang.String getDefault()
      Returns the default value.
      java.lang.String getEscapeHtml()
      The value of the escape html flag.
      java.lang.String getFile()
      Returns the file name.
      java.lang.String getName()
      Returns the property name.
      static java.util.Map<java.lang.String,​java.lang.String> propertiesTagAction​(java.lang.String action, javax.servlet.ServletRequest req)
      Internal action method.
      static java.lang.String propertyTagAction​(java.lang.String property, java.lang.String action, java.lang.String defaultValue, boolean escape, javax.servlet.ServletRequest req)
      Internal action method.
      static java.lang.String propertyTagAction​(java.lang.String property, java.lang.String action, java.lang.String defaultValue, boolean escape, javax.servlet.ServletRequest req, java.util.Locale locale)
      Internal action method.
      void release()  
      void setDefault​(java.lang.String def)
      Sets the default value.
      void setEscapeHtml​(java.lang.String value)
      Set the escape html flag.
      void setFile​(java.lang.String file)
      Sets the file name.
      void setLocale​(java.lang.String locale)
      Sets the locale for which the property should be read.
      void setName​(java.lang.String name)
      Sets the property name.
      • Methods inherited from class javax.servlet.jsp.tagext.TagSupport

        doAfterBody, findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValue
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • propertiesTagAction

        public static java.util.Map<java.lang.String,​java.lang.String> propertiesTagAction​(java.lang.String action,
                                                                                                 javax.servlet.ServletRequest req)
                                                                                          throws CmsException
        Internal action method.

        Parameters:
        action - the search action
        req - the current request
        Returns:
        String the value of the property or null if not found (and no defaultValue provided)
        Throws:
        CmsException - if something goes wrong
      • propertyTagAction

        public static java.lang.String propertyTagAction​(java.lang.String property,
                                                         java.lang.String action,
                                                         java.lang.String defaultValue,
                                                         boolean escape,
                                                         javax.servlet.ServletRequest req)
                                                  throws CmsException
        Internal action method.

        Parameters:
        property - the property to look up
        action - the search action
        defaultValue - the default value
        escape - if the result html should be escaped or not
        req - the current request
        Returns:
        the value of the property or null if not found (and no defaultValue was provided)
        Throws:
        CmsException - if something goes wrong
      • propertyTagAction

        public static java.lang.String propertyTagAction​(java.lang.String property,
                                                         java.lang.String action,
                                                         java.lang.String defaultValue,
                                                         boolean escape,
                                                         javax.servlet.ServletRequest req,
                                                         java.util.Locale locale)
                                                  throws CmsException
        Internal action method.

        Parameters:
        property - the property to look up
        action - the search action
        defaultValue - the default value
        escape - if the result html should be escaped or not
        req - the current request
        locale - the locale for which the property should be read
        Returns:
        the value of the property or null if not found (and no defaultValue was provided)
        Throws:
        CmsException - if something goes wrong
      • doEndTag

        public int doEndTag()
        Specified by:
        doEndTag in interface javax.servlet.jsp.tagext.Tag
        Overrides:
        doEndTag in class javax.servlet.jsp.tagext.TagSupport
        See Also:
        TagSupport.doEndTag()
      • doStartTag

        public int doStartTag()
                       throws javax.servlet.jsp.JspException
        Specified by:
        doStartTag in interface javax.servlet.jsp.tagext.Tag
        Overrides:
        doStartTag in class javax.servlet.jsp.tagext.TagSupport
        Returns:
        SKIP_BODY
        Throws:
        javax.servlet.jsp.JspException
        See Also:
        Tag.doStartTag()
      • getDefault

        public java.lang.String getDefault()
        Returns the default value.

        Returns:
        the default value
      • getEscapeHtml

        public java.lang.String getEscapeHtml()
        The value of the escape html flag.

        Returns:
        the value of the escape html flag
      • getFile

        public java.lang.String getFile()
        Returns the file name.

        Returns:
        the file name
      • getName

        public java.lang.String getName()
        Returns the property name.

        Returns:
        String the property name
      • release

        public void release()
        Specified by:
        release in interface javax.servlet.jsp.tagext.Tag
        Overrides:
        release in class javax.servlet.jsp.tagext.TagSupport
        See Also:
        Tag.release()
      • setDefault

        public void setDefault​(java.lang.String def)
        Sets the default value.

        This is used if a selected property is not found.

        Parameters:
        def - the default value
      • setEscapeHtml

        public void setEscapeHtml​(java.lang.String value)
        Set the escape html flag.

        Parameters:
        value - should be "true" or "false" (all values other then "true" are considered to be false)
      • setFile

        public void setFile​(java.lang.String file)
        Sets the file name.

        Parameters:
        file - the file name
      • setLocale

        public void setLocale​(java.lang.String locale)
        Sets the locale for which the property should be read.
        Parameters:
        locale - the locale for which the property should be read.
      • setName

        public void setName​(java.lang.String name)
        Sets the property name.

        Parameters:
        name - the property name to set