Foren
custom portlet not working with struts2.0 portlet
Raju Komari, geändert vor 13 Jahren.
custom portlet not working with struts2.0 portlet
New Member Beiträge: 9 Beitrittsdatum: 19.01.10 Neueste Beiträge
Hi All
i want to write custom portlet with Struts2.0 (Jsr168Dispatcher portlet).The portlet class as shown in below.
In Portlet.xml
But when ever portlet rendered first time doView() not executing in my portlet class, not only in view mode and also doEdit()& doHelp()are not executing in edit and help modes.
i dont know why Edit_default mode(Custom mode) not appearing in this portlet with struts2 ?
If any body knows about this struts2 with custom portlet, Please help on this..
Regards
Raju.K
i want to write custom portlet with Struts2.0 (Jsr168Dispatcher portlet).The portlet class as shown in below.
public class StrutsPortlet extends Jsr168Dispatcher {
private static final PortletMode EDIT_DEFAULTS_MODE = new PortletMode("welcome");
private static final String EDIT_DEFAULT_JSP_PATH = "/WEB-INF/edit/EditDefault.jsp";
public void doView(RenderRequest request, RenderResponse response)
throws PortletException, IOException {
//response.setContentType("text/html");
//PrintWriter writer = response.getWriter();
//writer.print("VIEW mode!");
System.out.println("in side..doView of StrutsPortlet");
super.doView(request, response);
}
public void processAction(ActionRequest request, ActionResponse response)
throws PortletException, IOException {
System.out.println("in side..processAction of StrutsPortlet");
super.processAction(request, response);
}
public void doEdit(RenderRequest request, RenderResponse response)
throws PortletException, IOException {
System.out.println("in side..doEdit of StrutsPortlet");
super.doEdit(request, response);
}
public void [b]doHelp(RenderRequest request, RenderResponse response)
throws PortletException, IOException {
System.out.println("in side..doHelp of StrutsPortlet");
super.doHelp(request, response);
}
protected void doDispatch(RenderRequest request, RenderResponse response) throws PortletException, IOException
{
System.out.println("edit_ default mode....doDispatch().");
try
{
WindowState state = request.getWindowState();
if (!state.equals(WindowState.MINIMIZED)) {
PortletMode mode = request.getPortletMode();
System.out.println("edit_ default mode....doDispatch()."+mode);
if (CUSTOM_CONFIG_MODE.equals(mode)) {
configure(request, response);
return;
}
else if (mode.equals(EDIT_DEFAULTS_MODE)) {
editDefault(request, response);
}
}
super.doDispatch(request, response);
}
catch (PortletException e)
{
}
catch (IOException e)
{
}
}
public void editDefault(RenderRequest request, RenderResponse response) throws PortletException, IOException
{
System.out.println("edit_ default mode.....");
if(request.getPortletSession().getAttribute("NAMESPACE")==null) {
request.getPortletSession().setAttribute("NAMESPACE", response.getNamespace());
String nameSpaceID = (String) request.getPortletSession().getAttribute("NAMESPACE");
if(nameSpaceID==null && !nameSpaceID.equalsIgnoreCase("")) {
nameSpaceID = response.getNamespace();
request.getPortletSession().setAttribute("NAMESPACE", response.getNamespace());
}
}
PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher(EDIT_DEFAULT_JSP_PATH);
rd.include(request, response);
}
public void configure(RenderRequest request, RenderResponse response) throws PortletException, IOException {
}
In Portlet.xml
<portlet id="HelloStruts2">
<portlet-name>hellostruts2</portlet-name>
<display-name xml:lang="EN">Hello Struts 2</display-name>
<portlet-class>com.robisoft.portlet.struts.StrutsPortlet</portlet-class>
<init-param>
<name>viewNamespace</name>
<value>/view</value>
</init-param>
<init-param>
<name>defaultViewAction</name>
<value>index</value>
</init-param>
<init-param>
<name>editNamespace</name>
<value>/edit</value>
</init-param>
<init-param>
<name>defaultEditAction</name>
<value>index</value>
</init-param>
<init-param>
<name>helpNamespace</name>
<value>/help</value>
</init-param>
<init-param>
<name>defaultHelpAction</name>
<value>help</value>
</init-param>
<init-param>
<name>welcomeNamespace</name>
<value>/welcome</value>
</init-param>
<init-param>
<name>defaultWelcomeAction</name>
<value>index</value>
</init-param>
<expiration-cache>0</expiration-cache>
<supports>
<mime-type>text/html</mime-type>
<portlet-mode>view</portlet-mode>
<portlet-mode>edit</portlet-mode>
<portlet-mode>help</portlet-mode>
<portlet-mode>welcome</portlet-mode>
</supports>
<supported-locale>en</supported-locale>
<portlet-info>
<title>Hello Struts 2 Portlet</title>
<short-title>Hello Struts2</short-title>
<keywords>struts2,sample</keywords>
</portlet-info>
</portlet>
<custom-portlet-mode>
<portlet-mode>welcome</portlet-mode>
</custom-portlet-mode>
But when ever portlet rendered first time doView() not executing in my portlet class, not only in view mode and also doEdit()& doHelp()are not executing in edit and help modes.
i dont know why Edit_default mode(Custom mode) not appearing in this portlet with struts2 ?
If any body knows about this struts2 with custom portlet, Please help on this..
Regards
Raju.K