Hi,
I'm using Jetspeed1-6-DEV with the plugin "Fusion" to support portlets jsr168.
On EDIT mode, when I submit the form I am always redirected to my default page.
When returning on the portlet page, the portlet controls are still on EDIT mode
but its content is on VIEW mode. When refreshing the window, the portlet is set
on view mode...
This behaviour appears only on portlets jsr168.
It seems that the createActionURL does not construct the right URL.
Here is my portlet source:
public void processAction (ActionRequest request, ActionResponse
actionResponse) throws PortletException, java.io.IOException {
//corresponding action to test4.jsp part1:'checkAction'
String removeName = request.getParameter("remove");
if (removeName!=null) {
PortletPreferences prefs = request.getPreferences();
prefs.reset(removeName);
prefs.store();
}
String add = request.getParameter("add");
if (add!=null) {
PortletPreferences prefs = request.getPreferences();
prefs.setValue(request.getParameter("name"),
request.getParameter("value"));
prefs.store();
}
PortletMode pm = request.getPortletMode();
if (pm.equals(PortletMode.EDIT)) {
actionResponse.setPortletMode(PortletMode.VIEW);
}
}
public void doEdit (RenderRequest request, RenderResponse response) throws
PortletException, IOException {
response.setContentType("text/html");
String jspName = getPortletConfig().getInitParameter("jspEdit");
// generate action urls
PortletURL addUrl = response.createActionURL();
addUrl.setPortletMode(PortletMode.VIEW);
addUrl.setParameter("add","add");
request.setAttribute("addUrl",addUrl.toString());
PortletURL cancelUrl = response.createRenderURL();
cancelUrl.setPortletMode(PortletMode.VIEW);
request.setAttribute("cancelUrl",cancelUrl.toString());
PortletRequestDispatcher rd =
getPortletContext().getRequestDispatcher(jspName);
rd.include(request,response);
}
Thanks, Khanh