Package org.opencms.jsp
Class CmsJspTagProperty
- java.lang.Object
-
- javax.servlet.jsp.tagext.TagSupport
-
- 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
-
-
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 theCmsJspTagProperty.FileUse
.
-
Constructor Summary
Constructors Constructor Description CmsJspTagProperty()
-
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.
-
-
-
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 actionreq
- 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 upaction
- the search actiondefaultValue
- the default valueescape
- if the result html should be escaped or notreq
- 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 upaction
- the search actiondefaultValue
- the default valueescape
- if the result html should be escaped or notreq
- the current requestlocale
- 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 interfacejavax.servlet.jsp.tagext.Tag
- Overrides:
doEndTag
in classjavax.servlet.jsp.tagext.TagSupport
- See Also:
TagSupport.doEndTag()
-
doStartTag
public int doStartTag() throws javax.servlet.jsp.JspException
- Specified by:
doStartTag
in interfacejavax.servlet.jsp.tagext.Tag
- Overrides:
doStartTag
in classjavax.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 interfacejavax.servlet.jsp.tagext.Tag
- Overrides:
release
in classjavax.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
-
-