Class CmsJspActionElement

java.lang.Object
org.opencms.jsp.CmsJspBean
org.opencms.jsp.CmsJspActionElement
Direct Known Subclasses:
CmsGwtActionElement, CmsJspLoginBean, CmsJspStatusBean, CmsJspXmlContentBean, CmsUgcActionElement, CmsXmlSitemapActionElement

public class CmsJspActionElement extends CmsJspBean
Bean to be used in JSP scriptlet code that provides direct access to the functionality offered by the OpenCms taglib.

By instantiating a bean of this type and accessing the methods provided by the instance, all functionality of the OpenCms JSP taglib can be easily used from within JSP scriptlet code.

Initialize this bean at the beginning of your JSP like this:

 <jsp:useBean id="cms" class="org.opencms.jsp.CmsJspActionElement">
 &lt% cms.init(pageContext, request, response); %>
 </jsp:useBean>
 
You can also access the current users CmsObject by using CmsJspBean.getCmsObject().

All exceptions that occur when calling any method of this class are caught and written to the log output only, so that a template still has a chance of working at least in some elements.

Since:
6.0.0
  • Field Details

  • Constructor Details

    • CmsJspActionElement

      Empty constructor, required for every JavaBean.
    • CmsJspActionElement

      public CmsJspActionElement(javax.servlet.jsp.PageContext context, javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res)
      Constructor, with parameters.
      Parameters:
      context - the JSP page context object
      req - the JSP request
      res - the JSP response
  • Method Details

    • editable

      public void editable(boolean isEditable) throws javax.servlet.jsp.JspException
      Includes the direct edit scriptlet, same as using the <cms:editable /> tag.

      The configured default direct edit provider is used.

      Parameters:
      isEditable - include scriptlet only if true
      Throws:
      javax.servlet.jsp.JspException - if something goes wrong
    • editable

      public void editable(boolean isEditable, String filename) throws javax.servlet.jsp.JspException
      Includes the direct edit scriptlet, same as using the <cms:editable file="..." />tag.

      For backward compatibility, this always uses the JSP include based direct edit provider

      .

      Parameters:
      isEditable - include scriptlet only if true
      filename - file with scriptlet code
      Throws:
      javax.servlet.jsp.JspException - if something goes wrong
    • editable

      public void editable(String provider, String mode, String filename) throws javax.servlet.jsp.JspException
      Includes the direct edit scriptlet, same as using the <cms:editable provider="..." mode="..." file="..." />tag.

      Parameters:
      provider - the direct edit provider class name
      mode - the direct edit mode to use
      filename - file with scriptlet code (may be null)
      Throws:
      javax.servlet.jsp.JspException - if something goes wrong
    • editableManualClose

      public void editableManualClose(boolean needsClose) throws javax.servlet.jsp.JspException
      Insert the end HTML for the direct edit buttons in manual mode (if required).

      Same as closing the </cms:editable tag after opening one in manual mode.

      Parameters:
      needsClose - result of editableManualOpen() should be the value for this parameter
      Throws:
      javax.servlet.jsp.JspException - if something goes wrong
    • editableManualOpen

      public boolean editableManualOpen() throws javax.servlet.jsp.JspException
      Insert the start HTML for the direct edit buttons in manual mode.

      Same as opening the <cms:editable mode="manual"> tag.

      Returns:
      true if HTML was inserted that needs to be closed
      Throws:
      javax.servlet.jsp.JspException - if something goes wrong
    • getContent

      public String getContent(String target)
      Returns the processed output of an OpenCms resource in a String.

      Parameters:
      target - the target to process
      Returns:
      the processed output of an OpenCms resource in a String
    • getContent

      public String getContent(String target, String element, Locale locale)
      Returns the processed output of an element within an OpenCms resource.

      Parameters:
      target - the target to process
      element - name of the element
      locale - locale of the element
      Returns:
      the processed output
    • getMessages

      public CmsMessages getMessages(String bundleName, Locale locale)
      Generates an initialized instance of CmsMessages for convenient access to localized resource bundles.

      Parameters:
      bundleName - the name of the ResourceBundle to use
      locale - the locale to use for localization
      Returns:
      CmsMessages a message bundle initialized with the provided values
    • getMessages

      public CmsMessages getMessages(String bundleName, String language)
      Generates an initialized instance of CmsMessages for convenient access to localized resource bundles.

      Parameters:
      bundleName - the name of the ResourceBundle to use
      language - language identifier for the locale of the bundle
      Returns:
      CmsMessages a message bundle initialized with the provided values
    • getMessages

      public CmsMessages getMessages(String bundleName, String language, String defaultLanguage)
      Generates an initialized instance of CmsMessages for convenient access to localized resource bundles.

      Parameters:
      bundleName - the name of the ResourceBundle to use
      language - language identifier for the locale of the bundle
      defaultLanguage - default for the language, will be used if language is null or empty String "", and defaultLanguage is not null
      Returns:
      CmsMessages a message bundle initialized with the provided values
    • getMessages

      public CmsMessages getMessages(String bundleName, String language, String country, String variant, String defaultLanguage)
      Generates an initialized instance of CmsMessages for convenient access to localized resource bundles.

      Parameters:
      bundleName - the name of the ResourceBundle to use
      language - language identifier for the locale of the bundle
      country - 2 letter country code for the locale of the bundle
      variant - a vendor or browser-specific variant code
      defaultLanguage - default for the language, will be used if language is null or empty String "", and defaultLanguage is not null
      Returns:
      CmsMessages a message bundle initialized with the provided values
      See Also:
    • getNavigation

      Returns an initialized CmsJspNavBuilder instance.

      Returns:
      an initialized navigation builder instance
      See Also:
    • getNavigationUri

      Returns the current uri for the navigation.

      Returns:
      the current uri for the navigation
    • img

      public String img(String target, CmsImageScaler scaler, Map<String,String> attributes)
      Returns the HTML for an <img src="..." /> tag that includes the given image scaling parameters.

      Parameters:
      target - the target URI of the file in the OpenCms VFS
      scaler - the image scaler to use for scaling the image
      attributes - a map of additional HTML attributes that are added to the output
      Returns:
      the HTML for an <img src> tag that includes the given image scaling parameters
    • img

      public String img(String target, CmsImageScaler scaler, Map<String,String> attributes, boolean partialTag)
      Returns the HTML for an <img src="..." /> tag that includes the given image scaling parameters.

      Parameters:
      target - the target URI of the file in the OpenCms VFS
      scaler - the image scaler to use for scaling the image
      attributes - a map of additional HTML attributes that are added to the output
      partialTag - if true, the opening <img and closing /> is omitted
      Returns:
      the HTML for an <img src> tag that includes the given image scaling parameters
    • include

      public void include(String target) throws javax.servlet.jsp.JspException
      Include a sub-element without parameters from the OpenCms VFS, same as using the <cms:include file="***" /> tag.

      Parameters:
      target - the target URI of the file in the OpenCms VFS (can be relative or absolute)
      Throws:
      javax.servlet.jsp.JspException - in case there were problems including the target
      See Also:
    • include

      public void include(String target, String element) throws javax.servlet.jsp.JspException
      Include a named sub-element without parameters from the OpenCms VFS, same as using the <cms:include file="***" element="***" /> tag.

      Parameters:
      target - the target URI of the file in the OpenCms VFS (can be relative or absolute)
      element - the element (template selector) to display from the target
      Throws:
      javax.servlet.jsp.JspException - in case there were problems including the target
      See Also:
    • include

      public void include(String target, String element, boolean editable) throws javax.servlet.jsp.JspException
      Include a named sub-element without parameters from the OpenCms VFS, same as using the <cms:include file="***" element="***" /> tag.

      Parameters:
      target - the target URI of the file in the OpenCms VFS (can be relative or absolute)
      element - the element (template selector) to display from the target
      editable - flag to indicate if direct edit should be enabled for the element
      Throws:
      javax.servlet.jsp.JspException - in case there were problems including the target
      See Also:
    • include

      public void include(String target, String element, boolean editable, boolean cacheable, Map<String,?> parameterMap) throws javax.servlet.jsp.JspException
      Include a named sub-element with parameters from the OpenCms VFS, same as using the <cms:include file="***" element="***" /> tag with parameters in the tag body.

      The parameter map should be a map where the keys are Strings (the parameter names) and the values are of type String[]. However, as a convenience feature, in case you provide just a String for the parameter value, it will automatically be translated to a String[1].

      The handling of the element parameter depends on the included file type. Most often it is used as template selector.

      Important: Exceptions that occur in the include process are NOT handled even if CmsJspBean.setSupressingExceptions(boolean) was set to true.

      Parameters:
      target - the target URI of the file in the OpenCms VFS (can be relative or absolute)
      element - the element (template selector) to display from the target
      editable - flag to indicate if direct edit should be enabled for the element
      cacheable - flag to indicate if the target should be cacheable in the Flex cache
      parameterMap - a map of the request parameters
      Throws:
      javax.servlet.jsp.JspException - in case there were problems including the target
      See Also:
    • include

      public void include(String target, String element, boolean editable, Map<String,?> parameterMap) throws javax.servlet.jsp.JspException
      Include a named sub-element with parameters from the OpenCms VFS, same as using the <cms:include file="***" element="***" /> tag with parameters in the tag body.

      The parameter map should be a map where the keys are Strings (the parameter names) and the values are of type String[]. However, as a convenience feature, in case you provide just a String for the parameter value, it will automatically be translated to a String[1].

      The handling of the element parameter depends on the included file type. Most often it is used as template selector.

      Important: Exceptions that occur in the include process are NOT handled even if CmsJspBean.setSupressingExceptions(boolean) was set to true.

      Parameters:
      target - the target URI of the file in the OpenCms VFS (can be relative or absolute)
      element - the element (template selector) to display from the target
      editable - flag to indicate if direct edit should be enabled for the element
      parameterMap - a map of the request parameters
      Throws:
      javax.servlet.jsp.JspException - in case there were problems including the target
      See Also:
    • include

      public void include(String target, String element, Map<String,?> parameterMap) throws javax.servlet.jsp.JspException
      Include a named sub-element with parameters from the OpenCms VFS, same as using the <cms:include file="***" element="***" /> tag with parameters in the tag body.

      Parameters:
      target - the target URI of the file in the OpenCms VFS (can be relative or absolute)
      element - the element (template selector) to display from the target
      parameterMap - a map of the request parameters
      Throws:
      javax.servlet.jsp.JspException - in case there were problems including the target
      See Also:
    • includeSilent

      public void includeSilent(String target, String element)
      Includes a named sub-element suppressing all Exceptions that occur during the include, otherwise the same as using include(String, String, Map).

      This is a convenience method that allows to include elements on a page without checking if they exist or not. If the target element does not exist, nothing is printed to the JSP output.

      Parameters:
      target - the target URI of the file in the OpenCms VFS (can be relative or absolute)
      element - the element (template selector) to display from the target
    • includeSilent

      public void includeSilent(String target, String element, boolean editable)
      Includes a named sub-element suppressing all Exceptions that occur during the include, otherwise the same as using include(String, String, Map).

      This is a convenience method that allows to include elements on a page without checking if they exist or not. If the target element does not exist, nothing is printed to the JSP output.

      Parameters:
      target - the target URI of the file in the OpenCms VFS (can be relative or absolute)
      element - the element (template selector) to display from the target
      editable - flag to indicate if direct edit should be enabled for the element
    • includeSilent

      public void includeSilent(String target, String element, boolean editable, Map<String,Object> parameterMap)
      Includes a named sub-element suppressing all Exceptions that occur during the include, otherwise the same as using include(String, String, Map).

      This is a convenience method that allows to include elements on a page without checking if they exist or not. If the target element does not exist, nothing is printed to the JSP output.

      Parameters:
      target - the target URI of the file in the OpenCms VFS (can be relative or absolute)
      element - the element (template selector) to display from the target
      editable - flag to indicate if direct edit should be enabled for the element
      parameterMap - a map of the request parameters
    • includeSilent

      public void includeSilent(String target, String element, Map<String,Object> parameterMap)
      Includes a named sub-element suppressing all Exceptions that occur during the include, otherwise the same as using include(String, String, Map).

      This is a convenience method that allows to include elements on a page without checking if they exist or not. If the target element does not exist, nothing is printed to the JSP output.

      Parameters:
      target - the target URI of the file in the OpenCms VFS (can be relative or absolute)
      element - the element (template selector) to display from the target
      parameterMap - a map of the request parameters
    • info

      public String info(String property)
      Returns an OpenCms or JVM system info property value, same as using the <cms:info property="***" /> tag.

      See the description of the class CmsJspTagInfo for a detailed list of available options for the property value.

      Parameters:
      property - the property to look up
      Returns:
      String the value of the system property
      See Also:
    • label

      public String label(String label)
      Returns an OpenCms workplace label.

      You should consider using a standard java.util.ResourceBundle instead of the OpenCms workplace language files.

      Parameters:
      label - the label to look up
      Returns:
      label the value of the label
      See Also:
    • link

      public String link(String target)
      Returns a link to a file in the OpenCms VFS that has been adjusted according to the web application path and the OpenCms static export rules.

      Please note that the target is always assumed to be in the OpenCms VFS, so you can't use this method for links external to OpenCms.

      Relative links are converted to absolute links, using the current element URI as base.

      This is the same as using the <cms:link>***</cms:link> tag.

      Parameters:
      target - the URI in the OpenCms VFS to link to
      Returns:
      the translated link
      See Also:
    • link

      public String link(String target, String baseUri)
      Returns a link to a file in the OpenCms VFS that has been adjusted according to the web application path and the OpenCms static export rules.

      Please note that the target is always assumed to be in the OpenCms VFS, so you can't use this method for links external to OpenCms.

      Relative links are converted to absolute links, using the current element URI as base.

      This is the same as using the <cms:link baseUri="..." >***</cms:link> tag.

      Parameters:
      target - the URI in the OpenCms VFS to link to
      baseUri - the optional alternative base URI
      Returns:
      the translated link
      See Also:
    • properties

      Returns all properties of the current file.

      Returns:
      Map all properties of the current file
    • properties

      public Map<String,String> properties(String file)
      Returns all properties of the selected file.

      Please see the description of the class CmsJspTagProperty for valid options of the file parameter.

      Parameters:
      file - the file (or folder) to look at for the properties
      Returns:
      Map all properties of the current file (and optional of the folders containing the file)
      See Also:
    • property

      public String property(String name)
      Returns a selected file property value, same as using the <cms:property name="***" /> tag or calling property(String, String, String, boolean).

      Parameters:
      name - the name of the property to look for
      Returns:
      the value of the property found, or null if the property could not be found
      See Also:
    • property

      public String property(String name, String file)
      Returns a selected file property value, same as using the <cms:property name="***" file="***" /> tag or calling property(String, String, String, boolean).

      Parameters:
      name - the name of the property to look for
      file - the file (or folder) to look at for the property
      Returns:
      the value of the property found, or null if the property could not be found
      See Also:
    • property

      public String property(String name, String file, String defaultValue)
      Returns a selected file property value, same as using the <cms:property name="***" file="***" default="***" /> tag or calling property(String, String, String, boolean).

      Parameters:
      name - the name of the property to look for
      file - the file (or folder) to look at for the property
      defaultValue - a default value in case the property was not found
      Returns:
      the value of the property found, or the value of defaultValue if the property could not be found
      See Also:
    • property

      public String property(String name, String file, String defaultValue, boolean escapeHtml)
      Returns a selected file property value with optional HTML escaping, same as using the <cms:property name="***" file="***" default="***" /> tag.

      Please see the description of the class CmsJspTagProperty for valid options of the file parameter.

      Parameters:
      name - the name of the property to look for
      file - the file (or folder) to look at for the property
      defaultValue - a default value in case the property was not found
      escapeHtml - if true, special HTML characters in the return value are escaped with their number representations (e.g. & becomes &#38;)
      Returns:
      the value of the property found, or the value of defaultValue if the property could not be found
      See Also:
    • template

      public boolean template(String element)
      Checks if a template part should be used or not, same as using the <cms:template element="***" /> tag.

      Parameters:
      element - the template element to check
      Returns:
      true if the element is active, false otherwise
      See Also:
    • template

      public boolean template(String elementlist, boolean checkall)
      Checks if a template part should be used or not, same as using the <cms:template ifexists="***" /> tag.

      Parameters:
      elementlist - the list of elements to check
      checkall - true if all elements in the list should be checked
      Returns:
      true if the elements available, false otherwise
      See Also:
    • template

      public boolean template(String element, String elementlist, boolean checkall)
      Checks if a template part should be used or not, same as using the <cms:template element="***" ifexists="***" /> tag.

      Parameters:
      element - the template element to check
      elementlist - the list of elements to check
      checkall - true if all elements in the list should be checked
      Returns:
      true if the element is active, false otherwise
      See Also:
    • toAbsolute

      public String toAbsolute(String target)
      Converts a relative URI in the OpenCms VFS to an absolute one based on the location of the currently processed OpenCms URI.

      Parameters:
      target - the relative URI to convert
      Returns:
      the target URI converted to an absolute one
    • user

      public String user(String property)
      Returns a selected user property, i.e. information about the currently logged in user, same as using the <cms:user property="***" /> tag.

      Parameters:
      property - the user property to display, please see the tag documentation for valid options
      Returns:
      the value of the selected user property
      See Also: