Through form submission, my form looks like: (removed useless html stuff)

<form name="form" action="http://myhost/ThingWeb/portal"; method="get">
 <input type="hidden" name="js_peid" value="<%=jspeid%>"/>
 <input type="hidden" name="action" value="ThingieSearchAction"/>
 <input type="submit" name="eventSubmit_doSearch" value="Search">
 <input type="reset" value="Clear Fields">
 <input type="text" name="thingieid" size="20">
</form>

I'm starting to believe there's something wrong there :/
(my action is executed, though, since i also added result display in the
"main" template, to check that)

greg

-----Original Message-----
From: Weaver, Scott [mailto:[EMAIL PROTECTED]
Sent: mardi 9 septembre 2003 15:06
To: '[EMAIL PROTECTED]'
Subject: RE: setTemplate using JSPAction (or even
GenericMVCPortlet/PortletAction now)


Gregory,

How are you invoking the action when this fails?  Is it through a form
submission or directly through a link?  If it is a form, what is the "action"
attribute set to?


Regards,
*===================================*
* Scott T Weaver������������������� *
* Jakarta Jetspeed Portal Project�� *
* [EMAIL PROTECTED] *
*===================================*
� 


> -----Original Message-----
> From: Gregory Joseph [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, September 09, 2003 8:20 AM
> To: Jetspeed Developers List
> Cc: [EMAIL PROTECTED]
> Subject: RE: setTemplate using JSPAction (or even
> GenericMVCPortlet/PortletAction now)
> 
> Hi Scott,
> 
> I was really glad to get your mail, but unfortunately it still doesn't
> work
> :/
> Below is a copy of my registry, as it was, and as i modified it following
> your example. But still no luck.
> My action was a subclass of JspPortletAction, I made it a subclass of
> GenericMVCAction, but still no luck. It seems like "VelocityActionContext"
> thingie is never instanciated as it should for the setTemplate method to
> work.
> I will file a bug on bugzilla... but in the mean time, is there anything
> else
> I can do or try?
> 
> Thanks again
> 
> greg
> ====================
> 
> Here's how my registry looked like:
> <?xml version="1.0" encoding="UTF-8"?>
> <registry>
> <portlet-entry name="Thingie" hidden="false" type="ref"
>                parent="GenericMVCPortlet" application="false">
>   <meta-info>
>     <title>Thingieportlet</title>
>     <description>
>       Allows to search thingies using various search criterias.
>     </description>
>   </meta-info>
>   <parameter name="viewtype" value="Jsp" hidden="true"/>
>   <parameter name="template" value="thingie/searchform.jsp"
> hidden="false"/>
>   <parameter name="action" hidden="true" value="ThingieSearchAction" />
>   <media-type ref="html"/>
>   <category>company</category>
>   <category>company.thingie</category>
> </portlet-entry>
> 
> </registry>
> 
> 
> Here's how I modified it following your example:
> <?xml version="1.0" encoding="UTF-8"?>
> <registry>
> 
> <portlet-entry name="CompanyMVCPortlet" hidden="false" application="false"
>                type="abstract">
>   <security-ref parent="default"/>
> 
> <classname>org.apache.jetspeed.portal.portlets.GenericMVCPortlet</classnam
> e>
>   <parameter name="viewtype" value="JSP" hidden="false"
>              cachedOnName="true" cachedOnValue="true"/>
>   <url cachedOnURL="true"/>
>   <category group="Jetspeed">company</category>
> </portlet-entry>
> 
> <portlet-entry name="Thingie" hidden="false" application="false"
>                type="ref" parent="JspMVCPortlet">
>   <security-ref parent="default"/>
>   <meta-info>
>     <title>Thingie portlet</title>
>     <description>Allows to search thingies using various search
> criterias.</description>
>   </meta-info>
> 
> <classname>org.apache.jetspeed.portal.portlets.GenericMVCPortlet</classnam
> e>
>   <parameter name="template" value="thingie/searchform.jsp"
>              hidden="false" cachedOnName="true" cachedOnValue="true"/>
>   <parameter name="action" value="ThingieSearchAction"
>              hidden="false" cachedOnName="true" cachedOnValue="true"/>
>   <parameter name="provides.customization" value="true"
>              hidden="false" cachedOnName="true" cachedOnValue="true"/>
>   <media-type ref="html"/>
>   <url cachedOnURL="true"/>
>   <category>company.thingie</category>
> </portlet-entry>
> </registry>
> 
> 
> -----Original Message-----
> From: Weaver, Scott [mailto:[EMAIL PROTECTED]
> Sent: mardi 9 septembre 2003 0:14
> To: 'Jetspeed Users List'
> Cc: 'Jetspeed Developers List'
> Subject: RE: setTemplate using JSPAction (or even
> GenericMVCPortlet/PortletAction now)
> 
> 
> Please post a snippet of your registry.  That would help us immensely.
> Some
> quick thoughts:
> 
> 1. In viewtype, Jsp needs to be all caps
> 
> <parameter name="viewtype" value="JSP" hidden="false"
> cachedOnName="true" cachedOnValue="true"/>
> 
> The GenericMVCAction.setTemplate(RunData, String) also works fine for me
> within my JSP portlet action.  I will give you some example reg entries.
> Maybe that will help you in getting started:
> 
> (Excuse the formatting)
> 
> A nice base for JSP portlets using MVC:
> 
> <portlet-entry name="JspMVCPortlet" hidden="false" type="abstract"
>    application="false">
>  <security-ref parent="default"/>
>  <classname>
>    org.apache.jetspeed.portal.portlets.GenericMVCPortlet
>  </classname>
>  <parameter name="viewtype" value="JSP" hidden="false"
>       cachedOnName="true" cachedOnValue="true"/>
>  <url cachedOnURL="true"/>
>  <category group="Jetspeed">jsp</category>
> </portlet-entry>
> 
> 
> 
> 
> And here is an example of its use:
> 
> <portlet-entry name="BaseHTMLPortlet" hidden="false" type="ref"
>     parent="JspMVCPortlet" application="false">
>  <security-ref parent="default"/>
>  <meta-info>
>    <title>Editable  Free-Form HTML portlet generator</title>
>      <description>Use this this portlet generator to create
>                   editable free-form HTML portlets.
>      </description>
>  </meta-info>
>  <!-- Make sure this is the GenericMVCPortlet, or a subclass of it. -->
>  <classname>
>    org.apache.jetspeed.portal.portlets.GenericMVCPortlet
>  </classname>
>  <!-- My default template -->
>  <parameter name="template" value="essential/editor/document.jsp"
>       hidden="false" cachedOnName="true" cachedOnValue="true"/>
> <!-- My action, make sure it is a subclass of GenericeMVCAction -->
>  <parameter name="action"
>     value="portlets.freeform.FreeformPortletAction"
>     hidden="false" cachedOnName="true" cachedOnValue="true"/>
> <!-- So we can use our own configure screens -->
>  <parameter name="provides.customization" value="true"
>     hidden="false" cachedOnName="true" cachedOnValue="true"/>
> 
> <!-- I left out a bunch of parameters
>    - that are not relative to the example
>  -->
> 
>  <media-type ref="html"/>
>  <url cachedOnURL="true"/>
> </portlet-entry>
> 
> 
> HTH,
> *===================================*
> * Scott T Weaver������������������� *
> * Jakarta Jetspeed Portal Project�� *
> * [EMAIL PROTECTED] *
> *===================================*
> 
> 
> 
> > -----Original Message-----
> > From: Gregory Joseph [mailto:[EMAIL PROTECTED]
> > Sent: Monday, September 08, 2003 1:02 PM
> > To: Jetspeed Users List
> > Cc: [EMAIL PROTECTED]
> > Subject: RE: setTemplate using JSPAction (or even
> > GenericMVCPortlet/PortletAction now)
> >
> > I am now using the GenericMVCPortlet, with an additional parameter in my
> > local-portlets.xreg (viewtype=Jsp), but still no success: when i examine
> > what
> > is going on in the setTemplate method, i see usage of the
> > getTemplateContext
> > method from the TemplateInfo object of my rundata. If I look in
> > templateInfo,
> > i can see 3 "tempKeys", namely "VelocityActionContext",
> "VELOCITY_CONTEXT"
> > and "00layout_template00", the 1st one being an instance of
> > GenericActionContext, but with no available keys(this is where the
> > nullpointerexception is thrown i think), the 2nd being an instance of
> > VelocityContext, with a number of keys, but none of them being
> "template",
> > and the last one being a string("/default.jsp")
> >
> > I really don't know what to do. I expect I'm not the only one using
> > multiple
> > views on the same portlet right!?
> >
> > Thanks for any help.
> >
> > greg
> >
> > -----Original Message-----
> > From: Gregory Joseph
> > Sent: vendredi 5 septembre 2003 18:28
> > To: Jetspeed Users List
> > Subject: RE: setTemplate using JSPAction
> >
> >
> > Maybe this should be forwarded to the dev-ml.
> > Anyway, I included the complete stacktrace below if that can help.
> >
> > -----Original Message-----
> > From: Gregory Joseph
> > Sent: vendredi 5 septembre 2003 17:52
> > To: Jetspeed Users List
> > Subject: setTemplate using JSPAction
> >
> >
> > Hi list,
> >
> > In my action class extending jspAction, i try to use the setTemplate
> > method,
> > but it doesn't work. I throws a NullPointerException somewhere when
> trying
> > to
> > retrieve a "VelocityPortletContext" (how surprising when working with a
> > JSPPortlet) Besides, I had to catch this exception myself, otherwise it
> > wasn't appearing anywhere in the logs, not even a single error
> message...
> >
> > I found this had been fixed a while ago:
> > http://www.mail-archive.com/jetspeed-
> [EMAIL PROTECTED]/msg07770.html
> > Bug when looking on the cvs view, i see there's been some refactoring
> > afterwards, so i think the issue might have re-appeared.
> >
> > Can someone confirm and/or propose a solution?
> >
> > my code simply looks like:
> >
> > //.....blahblah do stuff
> > setTemplate(rundata, "mypage.jsp");
> >
> > But then the portlet still displays the original template (the one set
> in
> > the
> > xreg file).
> > (I also tried without the .jsp extension, but result is exactly the
> same)
> >
> >
> > ---------------------------------------------------------------------
> > java.lang.NullPointerException
> >         at
> >
> org.apache.jetspeed.modules.actions.portlets.PortletAction.getPortlet(Port
> > let
> > Action.java:208)
> >         at
> >
> org.apache.jetspeed.modules.actions.portlets.PortletAction.setTemplate(Por
> > tle
> > tAction.java:169)
> >         at
> > com.company.web.actions.SearchAction.doSearch(SearchAction.java:81)
> >         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >         at
> >
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
> > 39)
> >         at
> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorIm
> > pl.
> > java:25)
> >         at java.lang.reflect.Method.invoke(Method.java:324)
> >         at
> >
> org.apache.jetspeed.modules.actions.portlets.PortletActionEvent.fireEvent(
> > Por
> > tletActionEvent.java:215)
> >         at
> >
> org.apache.jetspeed.modules.actions.portlets.PortletActionEvent.executeEve
> > nts
> > (PortletActionEvent.java:176)
> >         at
> >
> org.apache.jetspeed.modules.actions.portlets.GenericMVCAction.perform(Gene
> > ric
> > MVCAction.java:148)
> >         at
> > org.apache.turbine.modules.ActionLoader.exec(ActionLoader.java:122)
> >         at
> >
> org.apache.turbine.modules.pages.DefaultPage.doBuild(DefaultPage.java:143)
> >         at org.apache.turbine.modules.Page.build(Page.java:90)
> >         at
> org.apache.turbine.modules.PageLoader.exec(PageLoader.java:123)
> >         at org.apache.turbine.Turbine.doGet(Turbine.java:563)
> >         at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
> >         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> >         at
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Unknown
> > Source)
> >         at
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown
> > Source)
> >         at org.apache.catalina.core.StandardWrapperValve.invoke(Unknown
> > Source)
> >         at
> >
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.inv
> > oke
> > Next(Unknown Source)
> >         at org.apache.catalina.core.StandardPipeline.invoke(Unknown
> > Source)
> >         at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
> >         at org.apache.catalina.core.StandardContextValve.invoke(Unknown
> > Source)
> >         at
> >
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.inv
> > oke
> > Next(Unknown Source)
> >         at org.apache.catalina.core.StandardPipeline.invoke(Unknown
> > Source)
> >         at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
> >         at org.apache.catalina.core.StandardContext.invoke(Unknown
> Source)
> >         at org.apache.catalina.core.StandardHostValve.invoke(Unknown
> > Source)
> >         at
> >
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.inv
> > oke
> > Next(Unknown Source)
> >         at
> org.apache.catalina.valves.ErrorDispatcherValve.invoke(Unknown
> > Source)
> >         at
> >
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.inv
> > oke
> > Next(Unknown Source)
> >         at org.apache.catalina.valves.ErrorReportValve.invoke(Unknown
> > Source)
> >         at
> >
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.inv
> > oke
> > Next(Unknown Source)
> >         at org.apache.catalina.core.StandardPipeline.invoke(Unknown
> > Source)
> >         at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
> >         at org.apache.catalina.core.StandardEngineValve.invoke(Unknown
> > Source)
> >         at
> >
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.inv
> > oke
> > Next(Unknown Source)
> >         at org.apache.catalina.core.StandardPipeline.invoke(Unknown
> > Source)
> >         at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
> >         at
> > org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
> >         at
> >
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
> >         at
> >
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processCon
> > nec
> > tion(Http11Protocol.java:392)
> >         at
> >
> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
> >         at
> >
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.j
> > ava
> > :619)
> >         at java.lang.Thread.run(Thread.java:536)
> >
> > ---------------------------------------------------------------------
> > 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]

Reply via email to