org.opencms.jsp
Class CmsJspTagContentLoad

java.lang.Object
  extended by javax.servlet.jsp.tagext.TagSupport
      extended by javax.servlet.jsp.tagext.BodyTagSupport
          extended by org.opencms.jsp.CmsJspScopedVarBodyTagSuport
              extended by org.opencms.jsp.CmsJspTagResourceLoad
                  extended by org.opencms.jsp.CmsJspTagContentLoad
All Implemented Interfaces:
java.io.Serializable, javax.servlet.jsp.tagext.BodyTag, javax.servlet.jsp.tagext.IterationTag, javax.servlet.jsp.tagext.JspTag, javax.servlet.jsp.tagext.Tag, I_CmsResourceContainer, I_CmsXmlContentContainer

public class CmsJspTagContentLoad
extends CmsJspTagResourceLoad
implements I_CmsXmlContentContainer

Implementation of the <cms:contentload/> tag, used to access and display XML content item information from the VFS.

Since version 7.0.2 it is also possible to store the results of the content load in the JSP context using a CmsJspContentLoadBean. Using this bean the loaded XML content objects can be accessed directly using the JSP EL and the JSTL. To use this feature, you need to add the var (and optionally the scope) parameter to the content load tag. For example, if a parameter like var="myVarName" is provided, then the result of the content load is stored in the JSP context variable myVarName with an instance of a CmsJspContentLoadBean.

Since:
6.0.0
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.opencms.jsp.CmsJspTagResourceLoad
m_cms, m_collector, m_collectorName, m_collectorParam, m_collectorResult, m_contentInfoBean, m_controller, m_pageIndex, m_pageNavLength, m_pageSize, m_param, m_preload, m_property, m_resource, m_resourceName
 
Fields inherited from class javax.servlet.jsp.tagext.BodyTagSupport
bodyContent
 
Fields inherited from class javax.servlet.jsp.tagext.TagSupport
id, pageContext
 
Fields inherited from interface javax.servlet.jsp.tagext.BodyTag
EVAL_BODY_BUFFERED, EVAL_BODY_TAG
 
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
CmsJspTagContentLoad()
          Empty constructor, required for JSP tags.
CmsJspTagContentLoad(I_CmsXmlContentContainer container, javax.servlet.jsp.PageContext context, java.lang.String collectorName, java.lang.String collectorParam, java.util.Locale locale, boolean editable)
          Constructor used when using contentload from scriptlet code.
CmsJspTagContentLoad(I_CmsXmlContentContainer container, javax.servlet.jsp.PageContext context, java.lang.String collectorName, java.lang.String collectorParam, java.lang.String pageIndex, java.lang.String pageSize, java.util.Locale locale, boolean editable)
          Constructor used when using contentload from scriptlet code.
CmsJspTagContentLoad(I_CmsXmlContentContainer container, javax.servlet.jsp.PageContext context, java.lang.String collectorName, java.lang.String collectorParam, java.lang.String pageIndex, java.lang.String pageSize, java.util.Locale locale, CmsDirectEditMode editMode)
          Constructor used when using contentload from scriptlet code.
 
Method Summary
protected  void doLoadNextFile()
          Load the next file name from the initialized list of file names.
 int doStartTag()
           
 java.lang.String getEditable()
          Returns the editable flag.
 java.lang.String getLocale()
          Returns the locale.
 I_CmsXmlDocument getXmlDocument()
          Returns the currently loaded OpenCms XML content document.
 java.lang.String getXmlDocumentElement()
          Returns the currently selected element name in the loaded XML content document.
 java.util.Locale getXmlDocumentLocale()
          Returns the currently selected locale used for acessing the content in the loaded XML content document.
 boolean hasMoreResources()
          Resource iteration method to be used by JSP scriptlet code.
protected  void init(I_CmsXmlContentContainer container)
          Initializes this content load tag.
 void release()
           
 void setEditable(java.lang.String mode)
          Sets the editable mode.
 void setLocale(java.lang.String locale)
          Sets the locale.
 
Methods inherited from class org.opencms.jsp.CmsJspTagResourceLoad
doAfterBody, doEndTag, doLoadNextResource, getCollector, getCollectorName, getCollectorParam, getCollectorResult, getContentInfoBean, getNextResource, getPageIndex, getPageNavLength, getPageSize, getParam, getPreload, getProperty, getResource, getResourceName, getResourceName, hasMoreContent, init, isPreloader, limitCollectorResult, setCollector, setPageIndex, setPageNavLength, setPageSize, setParam, setPreload, setProperty
 
Methods inherited from class org.opencms.jsp.CmsJspScopedVarBodyTagSuport
getScope, getScopeAsInt, getScopeAsString, getScopeInt, getVar, isScopeVarSet, setScope, setVar, storeAttribute, storeAttribute
 
Methods inherited from class javax.servlet.jsp.tagext.BodyTagSupport
doInitBody, getBodyContent, getPreviousOut, setBodyContent
 
Methods inherited from class javax.servlet.jsp.tagext.TagSupport
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
 
Methods inherited from interface org.opencms.jsp.I_CmsResourceContainer
getCollectorName, getCollectorParam, getCollectorResult, getResource, getResourceName, hasMoreContent, isPreloader
 
Methods inherited from interface javax.servlet.jsp.tagext.Tag
getParent, setPageContext, setParent
 

Constructor Detail

CmsJspTagContentLoad

public CmsJspTagContentLoad()
Empty constructor, required for JSP tags.


CmsJspTagContentLoad

public CmsJspTagContentLoad(I_CmsXmlContentContainer container,
                            javax.servlet.jsp.PageContext context,
                            java.lang.String collectorName,
                            java.lang.String collectorParam,
                            java.util.Locale locale,
                            boolean editable)
                     throws javax.servlet.jsp.JspException
Constructor used when using contentload from scriptlet code.

Parameters:
container - the parent content container (could be a preloader)
context - the JSP page context
collectorName - the collector name to use
collectorParam - the collector param to use
locale - the locale to use
editable - indicates if "direct edit" support is wanted
Throws:
javax.servlet.jsp.JspException - in case something goes wrong

CmsJspTagContentLoad

public CmsJspTagContentLoad(I_CmsXmlContentContainer container,
                            javax.servlet.jsp.PageContext context,
                            java.lang.String collectorName,
                            java.lang.String collectorParam,
                            java.lang.String pageIndex,
                            java.lang.String pageSize,
                            java.util.Locale locale,
                            boolean editable)
                     throws javax.servlet.jsp.JspException
Constructor used when using contentload from scriptlet code.

Parameters:
container - the parent content container (could be a preloader)
context - the JSP page context
collectorName - the collector name to use
collectorParam - the collector param to use
pageIndex - the display page index (may contain macros)
pageSize - the display page size (may contain macros)
locale - the locale to use
editable - indicates if "direct edit" support is wanted
Throws:
javax.servlet.jsp.JspException - in case something goes wrong

CmsJspTagContentLoad

public CmsJspTagContentLoad(I_CmsXmlContentContainer container,
                            javax.servlet.jsp.PageContext context,
                            java.lang.String collectorName,
                            java.lang.String collectorParam,
                            java.lang.String pageIndex,
                            java.lang.String pageSize,
                            java.util.Locale locale,
                            CmsDirectEditMode editMode)
                     throws javax.servlet.jsp.JspException
Constructor used when using contentload from scriptlet code.

Parameters:
container - the parent content container (could be a preloader)
context - the JSP page context
collectorName - the collector name to use
collectorParam - the collector param to use
pageIndex - the display page index (may contain macros)
pageSize - the display page size (may contain macros)
locale - the locale to use
editMode - indicates which "direct edit" mode is wanted
Throws:
javax.servlet.jsp.JspException - in case something goes wrong
Method Detail

doStartTag

public int doStartTag()
               throws javax.servlet.jsp.JspException,
                      CmsIllegalArgumentException
Specified by:
doStartTag in interface javax.servlet.jsp.tagext.Tag
Overrides:
doStartTag in class CmsJspTagResourceLoad
Throws:
javax.servlet.jsp.JspException
CmsIllegalArgumentException
See Also:
Tag.doStartTag()

getEditable

public java.lang.String getEditable()
Returns the editable flag.

Returns:
the editable flag

getLocale

public java.lang.String getLocale()
Returns the locale.

Returns:
the locale

getXmlDocument

public I_CmsXmlDocument getXmlDocument()
Description copied from interface: I_CmsXmlContentContainer
Returns the currently loaded OpenCms XML content document.

Specified by:
getXmlDocument in interface I_CmsXmlContentContainer
Returns:
the currently loaded OpenCms XML content document
See Also:
I_CmsXmlContentContainer.getXmlDocument()

getXmlDocumentElement

public java.lang.String getXmlDocumentElement()
Description copied from interface: I_CmsXmlContentContainer
Returns the currently selected element name in the loaded XML content document.

Specified by:
getXmlDocumentElement in interface I_CmsXmlContentContainer
Returns:
the currently selected element name in the loaded XML content document
See Also:
I_CmsXmlContentContainer.getXmlDocumentElement()

getXmlDocumentLocale

public java.util.Locale getXmlDocumentLocale()
Description copied from interface: I_CmsXmlContentContainer
Returns the currently selected locale used for acessing the content in the loaded XML content document.

Specified by:
getXmlDocumentLocale in interface I_CmsXmlContentContainer
Returns:
the currently selected locale used for acessing the content in the loaded XML content document
See Also:
I_CmsXmlContentContainer.getXmlDocumentLocale()

hasMoreResources

public boolean hasMoreResources()
                         throws javax.servlet.jsp.JspException
Description copied from interface: I_CmsResourceContainer
Resource iteration method to be used by JSP scriptlet code.

Calling this method will insert "direct edit" HTML to the output page (if required).

Specified by:
hasMoreResources in interface I_CmsResourceContainer
Overrides:
hasMoreResources in class CmsJspTagResourceLoad
Returns:
true if more resources are to be iterated
Throws:
javax.servlet.jsp.JspException - in case something goes wrong
See Also:
I_CmsResourceContainer.hasMoreResources()

release

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

setEditable

public void setEditable(java.lang.String mode)
Sets the editable mode.

Parameters:
mode - the mode to set

setLocale

public void setLocale(java.lang.String locale)
Sets the locale.

Parameters:
locale - the locale to set

doLoadNextFile

protected void doLoadNextFile()
                       throws CmsException
Load the next file name from the initialized list of file names.

Throws:
CmsException - if something goes wrong

init

protected void init(I_CmsXmlContentContainer container)
             throws javax.servlet.jsp.JspException
Initializes this content load tag.

Parameters:
container - the parent container (could be a preloader)
Throws:
javax.servlet.jsp.JspException - in case something goes wrong