I believe you have cut-n-pasted the friendly URL configuration into
your hivemodule.xml. Friendly URLs don't make sense in the portlet
world (portlet URLs are always very ugly) and the friendly URL logic
relies on the Servlet API. Remove that from your hivemodule.xml and
you should be good.
On 8/23/05, Andriy <[EMAIL PROTECTED]> wrote:
> Hi!
>
> I'm developing portlet application with T4.
> There is a strange exception when I'm trying to add Form element on html
> template: "Parameter servletPath must not be null." I'm using uPortal as a
> portlet container.
> Mayby there are special components for portlets?
>
>
> View.java
> ------------------------
> import org.apache.tapestry.html.BasePage;
>
> public class View extends BasePage {
> public void onSubmit() {
> System.out.println("Listener 'onSubmit' called.");
> }
> }
> -----------------------------
>
>
> View.page
> ---------------------------
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE page-specification PUBLIC
> "-//Apache Software Foundation//Tapestry Specification 4.0//EN"
> "http://jakarta.apache.org/tapestry/dtd/Tapestry_4_0.dtd">
>
> <page-specification class="View">
> </page-specification>
> --------------------------
>
> View.html:
> ---------------------------
> Hello!
>
> <form jwcid="@Form" listener="ognl:listeners.onSubmit">
> <input type="submit" value="Submit" />
> </form>
> -----------------------------
>
> Exception:
> ----------------------------
> org.apache.hivemind.ApplicationRuntimeException
> Parameter servletPath must not be null.
> component [EMAIL PROTECTED]
> location context:/WEB-INF/View.page, line 6, column 34
>
> 1 <?xml version="1.0" encoding="UTF-8"?>
> 2 <!DOCTYPE page-specification PUBLIC
> 3 "-//Apache Software Foundation//Tapestry Specification 4.0//EN"
> 4 "http://jakarta.apache.org/tapestry/dtd/Tapestry_4_0.dtd">
> 5
> 6 <page-specification class="View">
> 7 </page-specification>
> java.lang.NullPointerException
> Parameter servletPath must not be null.
> org.apache.hivemind.util.Defense.notNull(Defense.java:41)
> org.apache.tapestry.engine.ServiceEncodingImpl.<init>(
> ServiceEncodingImpl.java:68)
> org.apache.tapestry.engine.ServiceEncodingImpl.<init>(
> ServiceEncodingImpl.java:63)
> org.apache.tapestry.services.impl.LinkFactoryImpl.createServiceEncoding(
> LinkFactoryImpl.java:134)
> org.apache.tapestry.services.impl.LinkFactoryImpl.constructLink(
> LinkFactoryImpl.java:106)
> $LinkFactory_105e3d65e3e.constructLink($LinkFactory_105e3d65e3e.java)
> $LinkFactory_105e3d65e3d.constructLink($LinkFactory_105e3d65e3d.java)
> org.apache.tapestry.engine.DirectService.getLink(DirectService.java:85)
> $IEngineService_105e3d65eb9.getLink($IEngineService_105e3d65eb9.java)
> org.apache.tapestry.services.impl.EngineServiceInnerProxy.getLink(
> EngineServiceInnerProxy.java:69)
> org.apache.tapestry.services.impl.EngineServiceOuterProxy.getLink(
> EngineServiceOuterProxy.java:60)
> org.apache.tapestry.form.Form.getLink(Form.java:350)
> org.apache.tapestry.form.Form.renderComponent(Form.java:248)
> org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:612)
> org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:92)
> org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:612)
> org.apache.tapestry.AbstractPage.renderPage(AbstractPage.java:274)
> org.apache.tapestry.engine.RequestCycle.renderPage(RequestCycle.java:368)
> org.apache.tapestry.portlet.PortletRendererImpl.renderPage(
> PortletRendererImpl.java:71)
> $PortletRenderer_105e3d65eca.renderPage($PortletRenderer_105e3d65eca.java)
> $PortletRenderer_105e3d65ec9.renderPage($PortletRenderer_105e3d65ec9.java)
> org.apache.tapestry.portlet.PortletHomeService.service(
> PortletHomeService.java:83)
> $IEngineService_105e3d65eb5.service($IEngineService_105e3d65eb5.java)
> org.apache.tapestry.services.impl.EngineServiceInnerProxy.service(
> EngineServiceInnerProxy.java:74)
> org.apache.tapestry.services.impl.EngineServiceOuterProxy.service(
> EngineServiceOuterProxy.java:65)
> org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:254)
> org.apache.tapestry.services.impl.InvokeEngineTerminator.service(
> InvokeEngineTerminator.java:60)
> $WebRequestServicer_105e3d65e82.service($WebRequestServicer_105e3d65e82.java)
> $WebRequestServicer_105e3d65e81.service($WebRequestServicer_105e3d65e81.java)
> $WebRequestServicer_105e3d65e80.service($WebRequestServicer_105e3d65e80.java)
> $WebRequestServicer_105e3d65e7f.service($WebRequestServicer_105e3d65e7f.java)
> org.apache.tapestry.portlet.RenderRequestServicerToWebRequestServicerBridge.
> service(RenderRequestServicerToWebRequestServicerBridge.java:49)
> $RenderRequestServicer_105e3d65e7a.service(
> $RenderRequestServicer_105e3d65e7a.java)
> $RenderRequestServicer_105e3d65e79.service(
> $RenderRequestServicer_105e3d65e79.java)
> $RenderRequestServicer_105e3d65e74.service(
> $RenderRequestServicer_105e3d65e74.java)
> $RenderRequestServicer_105e3d65e73.service(
> $RenderRequestServicer_105e3d65e73.java)
> org.apache.tapestry.portlet.ApplicationPortlet.render(
> ApplicationPortlet.java:161)
> org.apache.pluto.core.PortletServlet.dispatch(PortletServlet.java:205)
> org.apache.pluto.core.PortletServlet.doGet(PortletServlet.java:145)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> org.apache.pluto.core.PortletServlet.service(PortletServlet.java:140)
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> ApplicationFilterChain.java:237)
> org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:157)
> org.apache.catalina.core.ApplicationDispatcher.invoke(
> ApplicationDispatcher.java:704)
> org.apache.catalina.core.ApplicationDispatcher.doInclude(
> ApplicationDispatcher.java:590)
> org.apache.catalina.core.ApplicationDispatcher.include(
> ApplicationDispatcher.java:510)
> org.apache.pluto.invoker.impl.PortletInvokerImpl.invoke(
> PortletInvokerImpl.java:120)
> org.apache.pluto.invoker.impl.PortletInvokerImpl.render(
> PortletInvokerImpl.java:73)
> org.apache.pluto.PortletContainerImpl.renderPortlet(
> PortletContainerImpl.java:103)
> org.jasig.portal.channels.portlet.CPortletAdapter.getMarkup(
> CPortletAdapter.java:555)
> org.jasig.portal.channels.portlet.CPortletAdapter.renderCharacters(
> CPortletAdapter.java:482)
> org.jasig.portal.MultithreadedCharacterChannelAdapter.renderCharacters(
> MultithreadedCharacterChannelAdapter.java:71)
> org.jasig.portal.ChannelRenderer$Worker.run(ChannelRenderer.java:483)
> org.jasig.portal.utils.threading.Worker.run(Worker.java:88)
> -----------------------------
>
> Thanks,
> Andriy
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
--
Howard M. Lewis Ship
Independent J2EE / Open-Source Java Consultant
Creator, Jakarta Tapestry
Creator, Jakarta HiveMind
Professional Tapestry training, mentoring, support
and project work. http://howardlewisship.com
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]