Class CookieTag

java.lang.Object
javax.servlet.jsp.tagext.TagSupport
org.apache.wiki.tags.CookieTag
All Implemented Interfaces:
java.io.Serializable, javax.servlet.jsp.tagext.IterationTag, javax.servlet.jsp.tagext.JspTag, javax.servlet.jsp.tagext.Tag

public class CookieTag
extends javax.servlet.jsp.tagext.TagSupport
Sets or gets Cookie values. This implementation makes the following assumptions:
  • The cookie contains any number of name-value pairs
  • Name-value pairs are separated by "&" in the encoded cookie value string
  • An encoded name-value pair is compatible with JavaScript's encodeURIComponent(). Notably, spaces are encoded as "%20".
  • A decoded name-value pair separates the name and value with a "="

The value of a cookie carrying values n1="v1" and n2="v2 with space" would thus be

   n1%3Dv1&n2%3Dv2%20with%20space
 

Usage:

 <wiki:cookie name="cookiename" var="contextvariable" scope="page" />
 
- Returns the value of the named cookie, or an empty string if not set. If 'var' is specified, the value is set into a context variable of this name. The 'scope' parameter may be added to specify the context: "session", "page", "request". If var is omitted, the output is placed directly into the JSP page.
 <wiki:cookie name="cookiename" value="encoded_value" />
 
- Sets the named cookie to the given value. If the value string is empty, the cookie value is set to empty; otherwise the cookie encoding rules of this class must be followed for the value.
 <wiki:cookie name="cookiename" item="parameter_name" />
 
- Assumes that the cookie contains URLEncoded name-value pairs, with name and value separated by an equals sign, and returns the value of the specified item. <wiki:cookie name="cookiename" item="parameter_name" value="value" /> - Sets the value of 'parameter_name' in the named cookie to 'value'.
 <wiki:cookie name="cookiename" clear="parameter_name" />
 
- Removes the named parameter from the cookie.
 <wiki:cookie clear="cookiename" />
 
- Removes the named cookie. Clear may be used at the same time as a value is retrieved (or set, despite the dubious usefulness of that operation).
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

    Constructors
    Constructor Description
    CookieTag()  
  • Method Summary

    Modifier and Type Method Description
    int doEndTag()
    void release()
    void setClear​(java.lang.String s)
    Set the "clear" parameter.
    void setItem​(java.lang.String s)
    Set the "item" parameter.
    void setName​(java.lang.String s)
    Set the "name" parameter.
    void setScope​(java.lang.String s)
    Set the "scope" parameter.
    void setValue​(java.lang.String s)
    Set the "value" parameter.
    void setVar​(java.lang.String s)
    Set the "var" parameter.

    Methods inherited from class javax.servlet.jsp.tagext.TagSupport

    doAfterBody, doStartTag, 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 Details

  • Method Details

    • setName

      public void setName​(java.lang.String s)
      Set the "name" parameter.
      Parameters:
      s - The name.
    • setItem

      public void setItem​(java.lang.String s)
      Set the "item" parameter.
      Parameters:
      s - The item.
    • setValue

      public void setValue​(java.lang.String s)
      Set the "value" parameter.
      Parameters:
      s - The value.
    • setVar

      public void setVar​(java.lang.String s)
      Set the "var" parameter.
      Parameters:
      s - The parameter.
    • setClear

      public void setClear​(java.lang.String s)
      Set the "clear" parameter.
      Parameters:
      s - The parameter.
    • setScope

      public void setScope​(java.lang.String s)
      Set the "scope" parameter.
      Parameters:
      s - The scope.
    • release

      public void release()
      Specified by:
      release in interface javax.servlet.jsp.tagext.Tag
      Overrides:
      release in class javax.servlet.jsp.tagext.TagSupport
    • doEndTag

      public int doEndTag()
      Specified by:
      doEndTag in interface javax.servlet.jsp.tagext.Tag
      Overrides:
      doEndTag in class javax.servlet.jsp.tagext.TagSupport