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

 

Reply via email to