[JBoss Portal][2.4] Portlet method "processAction" not calle
ephemeris-lappis Oct 4, 2006 9:59 AMHello.
I'm trying to write a very simple portlet that uses an action URL and process a request in its processAction method.
The same portlet and JSP work perfectly in Jetspeed, but with JBoss portal, the processAction is never called.
An idea ? Something missing ?
The code of the portlet, jsp and descriptor are at the end of the message
Thanks
PORTLET
package my.portal.one.portlets;
import java.io.IOException;
import javax.portlet.ActionRequest;
import javax.portlet.ActionResponse;
import javax.portlet.PortletConfig;
import javax.portlet.PortletException;
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;
import my.portal.one.tools.Tracer;
public class JspPortlet extends javax.portlet.GenericPortlet {
private int count;
@Override
public void doView(final RenderRequest request, final RenderResponse response) throws PortletException, IOException {
Tracer.trace(this, "Begin doView : " + request.getWindowState());
response.setContentType("text/html");
getPortletContext().getRequestDispatcher("/WEB-INF/jsp/page1-view.jsp").include(request, response);
Tracer.trace(this, "End doView.");
}
@Override
protected void doHelp(final RenderRequest request, final RenderResponse response) throws PortletException, IOException {
Tracer.trace(this, "Begin doHelp...");
response.setContentType("text/html");
getPortletContext().getRequestDispatcher("/WEB-INF/jsp/page1-help.jsp").include(request, response);
Tracer.trace(this, "End doHelp.");
}
@Override
public void processAction(final ActionRequest request, final ActionResponse response) throws PortletException, IOException {
Tracer.trace(this, "Begin processAction...");
count++;
response.setRenderParameter("count", Integer.toString(count));
Tracer.trace(this, "End processAction. Count = " + count);
}
@Override
public void init(final PortletConfig portletConfig) throws PortletException {
Tracer.trace(this, "Begin init...");
super.init(portletConfig);
Tracer.trace(this, "End init.");
}
@Override
public void destroy() {
Tracer.trace(this, "Begin destroy...");
super.destroy();
Tracer.trace(this, "End destroy.");
}
}
JSP
<%@taglib prefix="p" uri="http://java.sun.com/portlet"%>
<p:defineObjects/>
Voici la <b>vue</b> !
<br><br>
Portal Info :
<br><b>${renderRequest.portalContext.portalInfo}</b>
<br><br>
Namespace :
<br><b><p:namespace/></b>
<hr>
<div align="center">
<form action="<p:actionURL/>">
<%
String count = renderRequest.getParameter("count");
%>
Count : <b><%=count%></b>
<br>
<input type="submit" value="Action !">
</form>
</div>
portlet descriptor
<portlet id="Felipe-1.E"> <description>A portlet that uses JSP pages.</description> <portlet-name>Felipe-1#5</portlet-name> <display-name>Felipe JSP</display-name> <portlet-class>my.portal.one.portlets.JspPortlet</portlet-class> <supports> <mime-type>text/html</mime-type> <portlet-mode>HELP</portlet-mode> </supports> <portlet-info> <title>Felipe-1 JSP</title> <short-title>Portlet using JSP pages.</short-title> <keywords>felipe,ephemeris,lappis,jsp</keywords> </portlet-info> </portlet>