OK, I think you are right. I don't know much about this Turbine/Velocity stuff yet, but it sounds like the right way to go. Many thanks!
ZHU Jia Christopher Abraham schrieb: > > We've found that the best way to handle this is to submit to an action > class, per the Turbine framework for handling actions > (http://jakarta.apache.org/turbine/turbine-2/howto/action-event-howto.html). > It's relatively easy to control the displayed portlet template using > Velocity templates and a back-end action class. It's a little more > challenging to do the same with jsp. We managed it with a variation on the > JSPPortlet class (I don't have a specific suggestion for handling this in > WebPagePortlet, but it could follow a similar path): > > ******************************* > public ConcreteElement getContent( RunData rundata ) > { > > EcsServletElement element ; > String template = ""; > > try { > > HttpSession session = rundata.getSession(); > /* Here we look for a session attribute that matches a > parameter we've set for > * this portlet in the portlets.xreg. This allows us to pass > a different jsp to > * ECS than the one defined in portlets.xreg. Setting the > appropriate template > * happens in an action class. To revert to the default > template, we just remove > * the session attribute. > */ > > if(session.getAttribute(getPortletConfig().getInitParameter("templateNav")) > != null) > > { > template = > (String)session.getAttribute(getPortletConfig().getInitParameter("templateNa > v")); > } > else > { > template = getPortletConfig().getInitParameter("template"); > } > element = new EcsServletElement(rundata, template); > > } catch (Exception e) { > String message = "JspPortletNav: Could not include the following > JSP Page: " + template + " : " + e.getMessage(); > Log.error( message, e ); > return new StringElement( message ); > } > > System.out.println("Param from JspNav templateNav = " + > getPortletConfig().getInitParameter("templateNav")); > return element; > } > *********************************** > > -----Original Message----- > From: ZHU Jia [mailto:[EMAIL PROTECTED]] > Sent: Monday, October 08, 2001 7:42 AM > To: [EMAIL PROTECTED] > Subject: Re: FW: WebPagePortlet - Content in the Portlet area > > Now the explanation gets a bit complicated, I think the easiest way is > to quote my other mail: > > <quote> > I'm new to Jetspeed and have some very basic questions: > We have an XML based web information delivery framework, now we support > HTML, SMS, Mail and WAP. My job is now to look into the possiblity of > making it portal-ready. I don't think there's any problem to convert the > output to be displayed in Jetspeed, but we also want to make the simple > configuration available using a portal interface. It's quite simple, but > does involve several steps (screens) of interaction, my question is that > is this possible/feasible with Jetspeed? > I couldn't find much documentation concerning this, so maybe someone > from the list can shed some light? > Any hints and tips would be highly appreciated, and many thanks in > advance! > </quote> > > So, with multi-screen I mean multiple steps of interaction, like > configuration dialogues. My problem is that I don't really know how a > portlet works, let's say if I click a submit button in a portlet, the > next screen should be fetched, but where is it displayed? I don't want > the output to occupy the whole window, only the portlet area, the rest > of the page should remain unchanged, only my portlet area now contains > the next step of configuration or something. > I'm not sure I quite understand what you meant, would you care to > explain some more? > > Many thanks! > > regards > ZHU Jia > > Ming Fai schrieb: > > > > Actually, i can't get your exact meaning. A screen is an unique page in > > Turbine, (certainly, it is possible to have different screen showing the > > same content if all of them load the same Jetspeed psml) so, multi-screen > > means multi-page! Pls refer to the Turbine doc. > > > > I think what you really mean is, there are more than one portlets in a > > single page (screen), right? In this case, it may not be a good idea to > make > > them into different frames. You may take my 2nd method: you write your own > > portlet class, which extends WebPagePortlet, your class loads url from an > > url parameter by any means. There are some different ways to implement, > the > > best one is to make it as an action, but I'm lazy to explore that area and > I > > make my portlet to read parameter from rundata > > [rundata.getParameters().getString(url)]. In your case, for example, your > > portlet read two parameters, the portlet id and url, if the portlet id > > matches itself, then it displays the url from parameter, otherwise, it > > displays the old url. The link looks like: > > /jetspeed/portal?url=www.sun.com&s;portletid=1 > > certain, you may design your application in other ways with similar > concept. > > > > Regards, > > mingfai > > > > -----Original Message----- > > From: ZHU Jia [mailto:[EMAIL PROTECTED]] > > Sent: Monday, October 08, 2001 6:46 PM > > To: [EMAIL PROTECTED] > > Subject: Re: FW: WebPagePortlet - Content in the Portlet area > > > > Thanks for the answer! But here comes the next question- > > what about multi-screen application? do i have to use another frame or > > window or is there any way to simply get all the output from a portlet > > confined in the portlet area? > > Many thanks in advance! > > > > ZHU Jia > > > > Ming Fai schrieb: > > > > > > last time, I've replied it only to the dev list but not the user list. > :-P > > > (well, btw, pls don't cross post unless it is really necessary) > > > > > > Regards, > > > mingfai > > > > > > -----Original Message----- > > > From: Ming Fai [mailto:[EMAIL PROTECTED]] > > > Sent: Friday, October 05, 2001 4:07 PM > > > To: [EMAIL PROTECTED] > > > Subject: RE: WebPagePortlet - Content in the Portlet area > > > > > > unofficial answer: > > > coz the link in java.sun.com is a normal link, so, it targets at the > > browser > > > window, as same as any other links on the page. > > > > > > So, my solution: > > > 1. Set the base target > > > make ur site with frame and set the base target to a specific frame. not > a > > > perfect solution but better than none. > > > > > > 2. modify the link when loading the WebPagePortlet > > > The only perfect solution is to change the link in the portlet when it > > > loads. So, write an portlet class to extend WebPagePortlet, after loaded > > the > > > http stream, do a process to replace all href attribute i.e. <a > > href="url"> > > > to target to ur screen. So, when a user click on a link, he is linked to > > > your page with the original url as a parameter, then let the portlet > read > > > the url parameter to show the target page. > > > > > > the world is never perfect, if the link is in javascript, then you mean > > need > > > a more complex process to modify the href attribute. > > > > > > regards, > > > mingfai > > > > > > -----Original Message----- > > > From: Peter Rajesh [mailto:[EMAIL PROTECTED]] > > > Sent: Friday, October 05, 2001 3:56 PM > > > To: jetspeed; jet-dev > > > Subject: WebPagePortlet - Content in the Portlet area > > > > > > HI, > > > > > > I have a WebPagePortlet in Jetspeed, which displays the content of > > > http://java.sun.com . When i click some thing, for ex., if i do a search > > > in that site, the Jetspeed page is gone and the search result is > > > displayed in the same browser, i.e, the entire javasoft site if > > > displayed. Is it possible to display the search content in the Portlet > > > area itself? I need to click the Back button to get the original > > > Jetspeed page. Please let me know if you have any idea to achieve this. > > > > > > Thanks, > > > > > > Regards > > > > > > Peter Rajesh > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
