URL generation by using the Navigational State SPI | HCL Digital Experience
The Navigational State API is used to read and modify the Navigational State document within a Portal URL. The Navigational State document is the seemingly random string of characters that appears in HCL Portal URLs. This string is a compressed, encoded XML document that contains a large amount of information that supports various Portal functions, including bookmark-ability of Portal pages and back button support.
For details about the back button behavior and the support of bookmarks, see to the topic Back button behavior.
You can use the Navigational State SPI to read, create, and modify URLs that carry navigational
state. The com.ibm.portal.state package is the main package of the Navigational
State SPI. It holds the service interfaces and the interfaces that make up the navigational state
object model.
- Portal-level code: Portal State Manager Service
- A portal service that is used to realize use cases that go beyond what the portal tags provide.
Use it to create URLs within portal artifacts such as themes, skins, and custom JSP tags. You can
also use it in artifacts that are removed from the request processing, such as Enterprise JavaBeans.
However, the Portal State Manager Service is not meant to be used for portlets. The Portal State
Manager service classes are in package
com.ibm.portal.state.service. APortalStateManagerServiceinstance is obtained with a JNDI look-up that uses a name constant from thePortalStateManagerServiceHomeinterface. - Portlet code: Portlet State Manager Service
- The counterpart service that supports JSR168 and JSR286 compliant portlets. Use the Portlet
State Manager Service to create URLs within portlets that cannot be created by using the Standard
Portlet APIs. A
PortalStateManagerServiceinstance is obtained with aPortalStateManagerServiceHomeinstance.Tip: APortletStateManagerServiceinstance is obtained with acom.ibm.portal.portlet.service.PortletServiceHomeinstance.
For more information about all SPI interfaces, see the Javadoc.