org.opencms.jsp
Class CmsJspTagProperty

java.lang.Object
  extended by javax.servlet.jsp.tagext.TagSupport
      extended by org.opencms.jsp.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

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
 
Constructor Summary
CmsJspTagProperty()
           
 
Method Summary
 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.
 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 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
 

Constructor Detail

CmsJspTagProperty

public CmsJspTagProperty()
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

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

setName

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

Parameters:
name - the property name to set