There is so much confusion about the implicit objects provided by <portlet:defineObjects/> tag on JSP as developers cannot see them easily. Experienced developers know what is available and they can use them freely. Here is a cheat sheet for the same.
<portlet:defineObjects/> is an empty tag without any attribute, and must be included after the mentioned directive.
JSR -286 (Portlet 2.0) have objects available from the following 13 objects, depending upon the origin of render, which lies in 3 categories:
- Request Objects
- RenderRequest – if the origin of request is from render phase
- ActionRequest - if the origin of request is from action phase
- ResourceRequest - if the origin of request is from ajax (serveResource)
- EventRequest - if the origin of request is from event (processEvent)
- Response Objects
- RenderResponse - if the origin of request is from render phase
- ActionResponse - if the origin of request is from action phase
- ResourceResponse - if the origin of request is from ajax (serveResource)
- EventResponse - if the origin of request is from event (processEvent)
- Portlet Objects
- PortletConfig
- PortletSession
- Map<String, Object> - contains list of all portletSessionAttributes
- PortletPreferences
- Map<String, String[]> - contains list of all portletPreferences
That’s all for today. Thanks for reading and have a nice day.