You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-user@portals.apache.org by Jonathan Hawkins <jo...@Cedar.com> on 2001/12/11 16:10:30 UTC

Problem setting JSP Portlet Template

I have defined two JSP Pages , portlet1.jsp and portlet2.jsp. I have
registered a portlet in portlets.xreg and defined the template as
portlet1.jsp. On portlet1 there is link to portlet2.jsp. I have created an
action class that pickes up the parameter and attempts to redefine the
template as portlet2.jsp. What happens is that the portlet never displays
portlet2.jsp. I include the relevant code below and any assistance would be
greatly appreciated.

PORTLET1.JSP

<%@ taglib uri='/WEB-INF/templates/jsp/tld/template.tld' prefix='jetspeed'
%>

<%@ page import="
	javax.naming.*,
	javax.ejb.*,
	java.rmi.RemoteException,
	java.rmi.Remote,
	java.util.*,
	java.text.*,
	org.apache.turbine.util.*,
	org.apache.turbine.util.template.TemplateLink,
	org.apache.turbine.services.jsp.JspService,
	org.apache.turbine.services.resources.TurbineResources,
	org.apache.jetspeed.util.servlet.EcsServletElement,
	org.apache.ecs.ConcreteElement,
	org.apache.ecs.StringElement, 
" session="true" %>

<% RunData rundata = (RunData)request.getAttribute("rundata"); %>

<div align="left">
<form method="POST" 
      action="<jetspeed:dynamicUri/>" 
      enctype="application/x-www-form-urlencoded">

<input name="action" type="hidden" value="<%= TurbineResources.getString(
"action.PerformTask" ) %>">

<% out.println("Parameter passed is " + request.getParameter("task")); %>

<p>
<b>Portlet 1</b>This is Portlet 1
<a href="portal/action/PerformTask?task=PORTLET2">Show Portlet2</a>
</p>
</form>

PORTLET2.JSP

<%@ taglib uri='/WEB-INF/templates/jsp/tld/template.tld' prefix='jetspeed'
%>

<%@ page import="
	javax.naming.*,
	javax.ejb.*,
	java.rmi.RemoteException,
	java.rmi.Remote,
	java.util.*,
	java.text.*,
	org.apache.turbine.util.*,
	org.apache.turbine.util.template.TemplateLink,
	org.apache.turbine.services.jsp.JspService,
	org.apache.turbine.services.resources.TurbineResources,
	org.apache.jetspeed.util.servlet.EcsServletElement,
	org.apache.ecs.ConcreteElement,
	org.apache.ecs.StringElement, 
" session="true" %>

<% RunData rundata = (RunData)request.getAttribute("rundata"); %>

<div align="left">
<form method="POST" 
      action="<jetspeed:dynamicUri/>" 
      enctype="application/x-www-form-urlencoded">

<input name="action" type="hidden" value="<%= TurbineResources.getString(
"action.PerformTask" ) %>">

<p>
<b>Portlet 2</b>This is Portlet 2

<a href="portal/action/PerformTask?task=PORTLET1">Show Portlet1</a>
</p>
</form>


PerformTask.java

package org.apache.jetspeed.modules.actions;
 
// Java Core Classes
import java.io.*;
import java.sql.*;
import java.util.*;

// Java Servlet Classes
import javax.servlet.*;
import javax.servlet.http.*;



// Turbine Modules
import org.apache.turbine.modules.*;
import org.apache.turbine.util.*;
import org.apache.jetspeed.modules.actions.portlets.*;
import org.apache.turbine.services.jsp.TurbineJspService;
import org.apache.turbine.services.jsp.JspService;
import org.apache.turbine.services.TurbineServices;

// jetspeed services
import org.apache.jetspeed.services.TemplateLocator;
import org.apache.jetspeed.services.rundata.JetspeedRunData;




/**
 * Changes the portlet template dependant upon the action required
 * 
 * @author <A HREF="Jonathan.Hawkins@cedar.com">Jonathan Hawkins</A>
*/
public class PerformTask extends Action
{
    public void doPerform( RunData data ) throws Exception
    {
        ParameterParser pp = data.getParameters();
        
        JspService service =
(JspService)TurbineServices.getInstance().getService(JspService.SERVICE_NAME
);

        System.out.println("In PerformTask Action task = " +
pp.getString("task"));
	  //JetspeedRunData jData = (JetspeedRunData)data;
        if (pp.getString("task") == "PORTLET1") {
 
data.setScreenTemplate("/portal/templates/jsp/portlets/html/portlet1.jsp");
		
		//service.handleRequest(data,
"/portal/templates/jsp/portlets/html/portlet1.jsp");
        return;
        }
        else if (pp.getString("task") == "PORTLET2") {
            //service.handleRequest(data,
"/portal/templates/jsp/portlets/html/portlet2.jsp");
 
data.setScreenTemplate("/portal/templates/jsp/portlets/html/portlet1.jsp");
        }
    }

}
Jonathan Hawkins
Applications Development Consultant
Cedar - High Wycombe
Tel: +44 (0)1494 561300
Fax: +44 (0)1494 561301 
Mobile: 07740 075492




***********************************************************************
This email and any files transmitted with it are confidential and
intended solely for the use of the individual or entity to whom they
are addressed. Any unauthorised distribution or copying is strictly 
prohibited.

Whilst Cedar Plc takes steps to prevent the transmission of 
viruses via e-mail, we can not guarantee that any email or 
attachment is free from computer viruses and you are strongly
advised to undertake your own anti-virus precautions.

Cedar Plc grants no warranties regarding performance,
use or quality of any e-mail or attachment and undertakes no 
liability for loss or damage, howsoever caused.
************************************************************************

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Final Release 1.3a2

Posted by David Sean Taylor <da...@bluesunrise.com>.
The final release of Jetspeed version 1.3a2 is available for download at:
http://jakarta.apache.org/builds/jakarta-jetspeed/release/v1.3a2/

jetspeed-1.3a2-release-fullwar  --- the war file with docs and javadocs
jetspeed-1.3a2-release-war --- the war file without docs and javadocs
jetspeed-1.3a2-release-src --- the source code as is after clean checkout

The cvs has been tagged as JETSPEED_1_3A2





--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>