Faces direct portlet messaging
Faces portlets based on the IBM portlet framework support portlet messaging for direct, inter-portlet communication.
Purpose
The DefaultPortletMessage class can be used to send the message to a Faces portlet to invoke an action defined in the Faces portlet. The message string that is sent is a relative URL that identifies the action, associated to a trigger control, and the parameters associated with the control.
Sample
For example, if an action is defined as follows:the following Java code sends a message to the Faces portlet to invoke the action:
- View ID (JSP file path)=
- /jsp/MyView.jsp
- Form ID=
- MyForm
- Command button ID=
- MyCommand
- Input ID=
- MyInput
- Input value=
- MyValue
FacesContext facesContext = FacesContext.getCurrentInstance(); PortletMessage message = new DefaultPortletMessage( "/jsp/MyView.jsp?MyForm&MyForm:MyCommand&MyForm:MyInput=MyValue"); PortletContext context = (PortletContext).getExternalContext().getContext(); try { context.send(null, message); } catch (AccessDeniedException e) { // exception handling code }Note that trigger and parameter IDs must be qualified with the form ID (MyForm).
Related concepts
Creating Faces portlets and projects
Related tasks
Creating Faces portlet projects