It worked exactly same way you described. However what i understood from J2
working is below:

Say there are two JSP protlets on page. J2 will call two JSP separately ,
accumulate two outputs into resultant page and send back to browser. Though
two portlets are part of same RequestContext but both JSP are compiled
separately without knowing each other.

Thus each JSP have to include common/header JSP files otherwise it is not
compiled giving varibale not found exceptions that are defined in common
header jsp.

Conclusion: Common header JSP files have to be included in each JSP portlet
page. This will produce duplicate code in resultant page at end. Can not
avoid it.





On Mon, Apr 25, 2011 at 4:03 PM, Woonsan Ko <woon_...@yahoo.com> wrote:

>
> --- On Mon, 4/25/11, anyz <anyz...@gmail.com> wrote:
>
> > From: anyz <anyz...@gmail.com>
> > Subject: Re: JSP include and multiple portlets Problem
> > To: "Jetspeed Users List" <jetspeed-user@portals.apache.org>
> > Date: Monday, April 25, 2011, 6:57 AM
> > Thanks, it is very helpful
> > configuring portlet speicifc JSP header pages
> > using init params.
> >
> > I also thought of using portlet filter. This portlet filter
> > will set a
> > portlet session variable if it finds a portlet with common
> > headers. And in
> > common header files we can check this flag variable to
> > include the code or
> > not. Howerver once set we need to remvoe it when filter is
> > called for last
> > Portlet on PSML page so that next time PSML page is called
> > it can include
> > header files.
> >
> > I dont' think its possibel to detect last portlet on PSML
> > page in Portlet
> > Filter. It is like setting a flag in *PSML Page Level
> > Scope*.
>
> If it is okay with Jetspeed-2 specific API, then you can make use of
> RequestContext object which is a flyweight object only for the current page
> request:
>
> import org.apache.jetspeed.request.RequestContext;
>
> RequestContext requestContext = (RequestContext)
> portletRequest.getAttribute(RequestContext.REQUEST_PORTALENV);
>
> Because requestContext is shared among portal and portlets, you may use
> #setAttribute() and #getAttribute() and you don't have to remove attributes
> later in this case. requestContext object will be removed after the request.
>
> Woonsan
>
> >
> >
> >
> >
> > On Fri, Apr 22, 2011 at 7:17 PM, Woonsan Ko <woon_...@yahoo.com>
> > wrote:
> >
> > >
> > > --- On Fri, 4/22/11, anyz <anyz...@gmail.com>
> > wrote:
> > >
> > > > From: anyz <anyz...@gmail.com>
> > > > Subject: Re: JSP include and multiple portlets
> > Problem
> > > > To: "Jetspeed Users List" <jetspeed-user@portals.apache.org>
> > > > Date: Friday, April 22, 2011, 8:11 AM
> > > > Thanks Woonsan,
> > > >
> > > > 1- First I am using
> > > >
> > org.apache.portals.bridges.common.GenericServletPortlet
> > > > and hence no Java file exists for portlet but
> > viewPage is
> > > > set to JSP
> > > > directly.
> > >
> > > You might want to extend GenericServletPortlet to have
> > another HeaderPage
> > > init parameter, so you can configure headers JSP page
> > to be dispatched in
> > > doHeaders() method. You don't have to create java
> > class for each portlet.
> > > Please refer to the example [1].
> > >
> > > [1]
> > >
> http://svn.apache.org/repos/asf/portals/applications/gems/tags/apa-gems-1.1/src/main/java/org/apache/portals/gems/dojo/AbstractDojoVelocityPortlet.java
> > >
> > > >
> > > > 2- Even if i create the Java file for each
> > portlet i.e.
> > > > makeing portlets of
> > > > Type GenericPortlet instead of
> > GenericServletPortlet. This
> > > > will solve the
> > > > issue duplicate markup elements in header.
> > However each of
> > > > my JSP file in
> > > > turn includes common files say "Header.jsp". This
> > common
> > > > file has losts of
> > > > JSP scriptlet code as well as static css and Js .
> > Thus
> > > > static Js and CSS can
> > > > be moved to doHeaders() but scriplet code in
> > Header.jsp
> > > > will still
> > > > duplicated for all portlets.
> > >
> > > I'm not sure, but you could consider moving the common
> > scriptlet codes into
> > > a portlet filter if you want to make it sure to be
> > invoked at lease or only
> > > once.
> > >
> > > HTH,
> > >
> > > Woonsan
> > >
> > > >
> > > >
> > > >
> > > >
> > > > On Thu, Apr 21, 2011 at 6:46 PM, Woonsan Ko
> > <woon_...@yahoo.com>
> > > > wrote:
> > > >
> > > > > Hi,
> > > > >
> > > > > I think you can make use of Portlet 2.0 Head
> > Element
> > > > Contribution. Also see
> > > > > [1].
> > > > >
> > > > > [1]
> > > > >
> > >
> http://mail-archives.apache.org/mod_mbox/portals-jetspeed-user/201101.mbox/%3c771436.89975...@web112814.mail.gq1.yahoo.com%3E
> > > > >
> > > > > Woonsan
> > > > >
> > > > > --- On Thu, 4/21/11, anyz <anyz...@gmail.com>
> > > > wrote:
> > > > >
> > > > > > From: anyz <anyz...@gmail.com>
> > > > > > Subject: JSP include and multiple
> > portlets
> > > > Problem
> > > > > > To: "Jetspeed Users List" <jetspeed-user@portals.apache.org>
> > > > > > Date: Thursday, April 21, 2011, 3:04
> > PM
> > > > >  > I have multiple JSP portlets on
> > a
> > > > > > PSML page. Each JSP portlet page uses
> > > > > > common code by including various common
> > JSP
> > > > files.
> > > > > >
> > > > > > Thus common JSP files are actually
> > included
> > > > multiple times
> > > > > > in one PSML page
> > > > > > due to multipel portlets including
> > these. It
> > > > creates many
> > > > > > issues including
> > > > > > Javascript code that is over written
> > by
> > > > portlets.
> > > > > >
> > > > > > What should be best approach to include
> > common
> > > > jsp files
> > > > > > only once. May be
> > > > > > some sort of conditionall inclusion or
> > J2 has
> > > > some
> > > > > > recommended way to do
> > > > > > this.
> > > > > >
> > > > > > Thanks
> > > > > >
> > > > >
> > > > >
> > > >
> > ---------------------------------------------------------------------
> > > > > To unsubscribe, e-mail:
> jetspeed-user-unsubscr...@portals.apache.org
> > > > > For additional commands, e-mail:
> jetspeed-user-h...@portals.apache.org
> > > > >
> > > > >
> > > >
> > >
> > >
> > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: jetspeed-user-unsubscr...@portals.apache.org
> > > For additional commands, e-mail: jetspeed-user-h...@portals.apache.org
> > >
> > >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: jetspeed-user-unsubscr...@portals.apache.org
> For additional commands, e-mail: jetspeed-user-h...@portals.apache.org
>
>

Reply via email to