The session attribute plug-in | HCL Digital Experience

Use the SessionAttribute rendering plug-in to retrieve, set, or remove attributes from the portlet or servlet session. When you access the portlet session, you can also specify the scope of the session attributes as either application or portlet scope.

The syntax for this plug-in is as follows:
[Plugin:SessionAttribute key="" value="" mode="" scope="" defaultValue="" escape=""]
This plug-in uses the following attributes:
scope
Use this attribute to specify the session and attribute scope with which you want to work:
application
Access the portlet session in portlet application scope.
portlet
Access the portlet session in portlet scope. This scope is the default scope.
servlet
Access the servlet session.
key
Use this attribute to specify the name of the session attribute that you want to retrieve, set, or remove.
mode
Use this attribute to specify the operation that you want to perform:
get
Retrieve the specified attribute from the session and return the attribute value.
set
Set the specified attribute to the session.
delete
Delete the specified attribute from the session.
remove
Remove the specified attribute from the session and return the attribute value that was previously set.
value
Use this attribute to specify the value of the attribute that you want to set. If an attribute with the same name exists on the request, that attribute is overwritten with the new value. If you want to set an attribute on the request, this attribute is mandatory.
defaultValue
Use this attribute to specify the value that you want to be to returned if the addressed session parameter does not exist or has a value of null.
escape
Use this attribute to define the escaping that you want to be used for writing the URL. Specify one of the values xml, json, javascript, or none. The default value is none. This value is evaluated only if the mode attribute is set to get or remove.

Examples

  • To retrieve the attribute with the key key1 from the portlet session in portlet scope, use either one of the following plug-in tags:
    [Plugin:SessionAttribute key="key1"]
    [Plugin:SessionAttribute scope="portlet" key="key1"]
  • To retrieve the attribute with the key key1 from the portlet session in portlet application scope, use the following plug-in tag:
    [Plugin:SessionAttribute scope="application" key="key1"] 
  • To retrieve the attribute with the key key1 from the servlet session and to return the value defaultValue if the attribute is not set or has a value of null, use the following plug-in tag:
    [Plugin:SessionAttribute scope="servlet" key="key1" defaultValue="defaultValue"] 
  • To set the attribute with the key key1 and the value value1 to the portlet session in portlet session scope, use one of the following plug-in tags:
    [Plugin:SessionAttribute key="key1" value="value1"] 
    [Plugin:SessionAttribute mode="set" key="key1" value="value1"]
  • To delete the attribute with the key key1 from the portlet session in portlet application scope without returning the previous value, either use the delete mode or pass an empty value:
    [Plugin:SessionAttribute key="key1" mode="delete"]
    [Plugin:SessionAttribute key="key1" value=""]
  • To remove the attribute with the key key1 from the portlet session in portlet application scope and to return the previously set value, use the following plug-in tag:
    [Plugin:SessionAttribute scope="application" key="key1" mode="remove"]