org.opencms.jsp
Class CmsJspTagHeadIncludes

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

public class CmsJspTagHeadIncludes
extends javax.servlet.jsp.tagext.BodyTagSupport
implements I_CmsJspTagParamParent

This tag includes required CSS or JavaScript resources that are to be places in the HTML head.

Required resources can be configured in the resource type schema. Set attribute type to 'css' to include css resources or to 'javascript' to include JavaScript resources.

Since:
8.0
See Also:
Serialized Form

Field Summary
static java.lang.String TYPE_CSS
          The include type CSS.
static java.lang.String TYPE_JAVASCRIPT
          The include type java-script.
 
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
CmsJspTagHeadIncludes()
           
 
Method Summary
static void addParameter(java.util.Map<java.lang.String,java.lang.String[]> parameters, java.lang.String name, java.lang.String value, boolean overwrite)
          Adds parameters to a parameter Map that can be used for a http request.
 void addParameter(java.lang.String name, java.lang.String value)
          Add a parameter to this tag.
 int doEndTag()
           
 int doStartTag()
          Returns BodyTag.EVAL_BODY_BUFFERED.
static java.util.Set<java.lang.String> getCSSHeadIncludes(CmsObject cms, CmsResource resource)
          Returns the configured CSS head include resources.
 java.lang.String getDefaults()
          Returns the default include resources separated by '|'.
static java.util.Set<java.lang.String> getJSHeadIncludes(CmsObject cms, CmsResource resource)
          Returns the configured JavaScript head include resources.
 java.lang.String getType()
          Returns the type.
 void setClosetags(java.lang.String closeTags)
          Sets the value of the closetags attribute.
 void setDefaults(java.lang.String defaults)
          Sets the default include resources separated by '|'.
 void setType(java.lang.String type)
          Sets the type.
 boolean shouldCloseTags()
          Returns true if the headincludes tag should be closed.
 void tagCssAction(CmsObject cms, javax.servlet.ServletRequest req)
          Action to include the CSS resources.
 void tagJSAction(CmsObject cms, javax.servlet.ServletRequest req)
          Action to include the java-script resources.
 
Methods inherited from class javax.servlet.jsp.tagext.BodyTagSupport
doAfterBody, doInitBody, getBodyContent, getPreviousOut, release, 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 javax.servlet.jsp.tagext.Tag
getParent, setPageContext, setParent
 

Field Detail

TYPE_CSS

public static final java.lang.String TYPE_CSS
The include type CSS.

See Also:
Constant Field Values

TYPE_JAVASCRIPT

public static final java.lang.String TYPE_JAVASCRIPT
The include type java-script.

See Also:
Constant Field Values
Constructor Detail

CmsJspTagHeadIncludes

public CmsJspTagHeadIncludes()
Method Detail

addParameter

public static void addParameter(java.util.Map<java.lang.String,java.lang.String[]> parameters,
                                java.lang.String name,
                                java.lang.String value,
                                boolean overwrite)
Adds parameters to a parameter Map that can be used for a http request.

Parameters:
parameters - the Map to add the parameters to
name - the name to add
value - the value to add
overwrite - if true, a parameter in the map will be overwritten by a parameter with the same name, otherwise the request will have multiple parameters with the same name (which is possible in http requests)

getCSSHeadIncludes

public static java.util.Set<java.lang.String> getCSSHeadIncludes(CmsObject cms,
                                                                 CmsResource resource)
Returns the configured CSS head include resources.

Parameters:
cms - the current cms context
resource - the resource
Returns:
the configured CSS head include resources

getJSHeadIncludes

public static java.util.Set<java.lang.String> getJSHeadIncludes(CmsObject cms,
                                                                CmsResource resource)
                                                         throws CmsLoaderException
Returns the configured JavaScript head include resources.

Parameters:
cms - the current cms context
resource - the resource
Returns:
the configured JavaScript head include resources
Throws:
CmsLoaderException - if something goes wrong reading the resource type

addParameter

public void addParameter(java.lang.String name,
                         java.lang.String value)
Description copied from interface: I_CmsJspTagParamParent
Add a parameter to this tag. The intent is that the <param> subtag will call this to register parameters. Assumes that 'name' and 'value' are appropriately encoded and do not contain any meaningful metacharacters; in order words, escaping is the responsibility of the caller.

Specified by:
addParameter in interface I_CmsJspTagParamParent
Parameters:
name - the name of the parameter
value - the value of the parameter
See Also:
I_CmsJspTagParamParent.addParameter(java.lang.String, java.lang.String)

doEndTag

public int doEndTag()
             throws javax.servlet.jsp.JspException
Specified by:
doEndTag in interface javax.servlet.jsp.tagext.Tag
Overrides:
doEndTag in class javax.servlet.jsp.tagext.BodyTagSupport
Returns:
EVAL_PAGE
Throws:
javax.servlet.jsp.JspException - by interface default
See Also:
Tag.doEndTag()

doStartTag

public int doStartTag()
Returns BodyTag.EVAL_BODY_BUFFERED.

Specified by:
doStartTag in interface javax.servlet.jsp.tagext.Tag
Overrides:
doStartTag in class javax.servlet.jsp.tagext.BodyTagSupport
Returns:
BodyTag.EVAL_BODY_BUFFERED
See Also:
Tag.doStartTag()

getDefaults

public java.lang.String getDefaults()
Returns the default include resources separated by '|'.

Returns:
the default include resources

getType

public java.lang.String getType()
Returns the type.

Returns:
the type

setClosetags

public void setClosetags(java.lang.String closeTags)
Sets the value of the closetags attribute.

Parameters:
closeTags - the value of the closetags attribute

setDefaults

public void setDefaults(java.lang.String defaults)
Sets the default include resources separated by '|'.

Parameters:
defaults - the default include resources to set

setType

public void setType(java.lang.String type)
Sets the type.

Parameters:
type - the type to set

shouldCloseTags

public boolean shouldCloseTags()
Returns true if the headincludes tag should be closed.

Returns:
true if the headincludes tag should be closed

tagCssAction

public void tagCssAction(CmsObject cms,
                         javax.servlet.ServletRequest req)
                  throws CmsException,
                         java.io.IOException
Action to include the CSS resources.

Parameters:
cms - the current cms context
req - the current request
Throws:
CmsException - if something goes wrong reading the resources
java.io.IOException - if something goes wrong writing to the response out

tagJSAction

public void tagJSAction(CmsObject cms,
                        javax.servlet.ServletRequest req)
                 throws CmsException,
                        java.io.IOException
Action to include the java-script resources.

Parameters:
cms - the current cms context
req - the current request
Throws:
CmsException - if something goes wrong reading the resources
java.io.IOException - if something goes wrong writing to the response out