ok but does this mean you can't have a form submitted when an event occurs
on a component outside the form? That's what I was trying to achieve (and
was supported in T4.1.1).
Anyway, this was a hacky workaround for some problems I had with
4.1.1(event in For loops). Replaced it with a more "standard" way to
achieve the
same, which is async DirectLinks. Works like a charm now.
2007/6/8, Jesse Kuhnert <[EMAIL PROTECTED]>:
Don't specify submitForm =. It's not needed anymore.
On 6/7/07, Christian Dutaret <[EMAIL PROTECTED]> wrote:
>
> Hi all,
>
> My app has a page with a form having only hidden fields. I use this form
> to
> rewind some values on async events. This was working fine with T4.1.1.
> After
> I upgraded to 4.1.2, and after some (unrelated) tweaks, it was also
> working
> fine on my dev windows laptop.
> After I deployed it on a "semi-production" remote linux box, I began
> observing some very weird behaviors:
> - Works fine under FF2 and Opera9
> - breaks under IE7 and FF1.5
>
> I then tried to use an earlier 4.1.2 snapshot (108), redeployed, and it
> was
> working on IE7 and FF1.5, but not on FF2 and Opera9. Asked a colleague
to
> try from his computer, and breaks with his FF2 (same version than mine).
> Tried an even earlier snapshot (103), and then it was broken on browsers
> which were working before, and working on those broken before (all
browser
> caches and cookies cleared).
>
> I then tried to deploy locally again, but with caching enabled. Could
> reproduce the problem with IE7, works with FF2. So it seems the problem
> only
> shows with page caching enabled.
>
> Here is my EventListener:
>
> @EventListener(elements = "dialop", events = "ajaxEvent", submitForm
=
> "hidform", autoSubmit = false)
> public void selectOp(IRequestCycle cycle, BrowserEvent event) {
> // do some stuff here
> cycle.getResponseBuilder().updateComponent("dialop");
> }
>
> My template:
> <form jwcid="[EMAIL PROTECTED]" stateful="false"><span jwcid="[EMAIL
PROTECTED]"
> value="ognl:seed" /><span jwcid="[EMAIL PROTECTED]"
> value="ognl:currentPage" /> <span jwcid="[EMAIL PROTECTED]"
> value="ognl:queryHistory" /> <span jwcid="[EMAIL PROTECTED]"
> value="ognl:selectedInsurerId" /><span jwcid="[EMAIL PROTECTED]"
> value="ognl:selectedAnnounceId" /></form>
>
>
> And the stack trace I get:
>
> org.apache.hivemind.ApplicationRuntimeException: No component found in
> tree
> for EventListener binding with a matching component id of
> search/Result/hidform. [context:/search/Result.html]
> at
>
org.apache.tapestry.pageload.EventConnectionVisitor.wireElementFormEvents(
> EventConnectionVisitor.java:113)
> at
org.apache.tapestry.pageload.EventConnectionVisitor.visitComponent(
> EventConnectionVisitor.java:86)
> at
>
>
$IComponentVisitor_113059e6e51.visitComponent($IComponentVisitor_113059e6e51.java)
> at
>
>
$IComponentVisitor_113059e6e52.visitComponent($IComponentVisitor_113059e6e52.java)
> at
org.apache.tapestry.pageload.ComponentTreeWalker.walkComponentTree(
> ComponentTreeWalker.java:45)
> at org.apache.tapestry.pageload.PageLoader.loadPage(PageLoader.java
> :657)
> at $IPageLoader_113059e6e3f.loadPage($IPageLoader_113059e6e3f.java)
> at $IPageLoader_113059e6e40.loadPage($IPageLoader_113059e6e40.java)
> at org.apache.tapestry.pageload.PageSource.getPage(PageSource.java
> :119)
> at $IPageSource_113059e6d9e.getPage($IPageSource_113059e6d9e.java)
> at org.apache.tapestry.engine.RequestCycle.loadPage(
RequestCycle.java
> :239)
> at org.apache.tapestry.engine.RequestCycle.getPage(RequestCycle.java
> :226)
> at org.apache.tapestry.engine.ExternalService.service(
> ExternalService.java:140)
> at
> $IEngineService_113059e6e35.service($IEngineService_113059e6e35.java)
> at org.apache.tapestry.services.impl.EngineServiceOuterProxy.service
(
> EngineServiceOuterProxy.java:72)
> at org.apache.tapestry.engine.AbstractEngine.service(
> AbstractEngine.java
> :237)
> at org.apache.tapestry.services.impl.InvokeEngineTerminator.service(
> InvokeEngineTerminator.java:54)
> at
>
>
$WebRequestServicer_113059e6e04.service($WebRequestServicer_113059e6e04.java)
> at
>
>
$WebRequestServicer_113059e6e00.service($WebRequestServicer_113059e6e00.java)
> at
>
org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service
> (
> WebRequestServicerPipelineBridge.java:61)
> at
>
>
$ServletRequestServicer_113059e6de6.service($ServletRequestServicer_113059e6de6.java)
> at org.apache.tapestry.request.DecodedRequestInjector.service(
> DecodedRequestInjector.java:55)
> at
>
>
$ServletRequestServicerFilter_113059e6de2.service($ServletRequestServicerFilter_113059e6de2.java)
> at
>
>
$ServletRequestServicer_113059e6de8.service($ServletRequestServicer_113059e6de8.java)
> at org.apache.tapestry.multipart.MultipartDecoderFilter.service(
> MultipartDecoderFilter.java:52)
> at
>
>
$ServletRequestServicerFilter_113059e6de0.service($ServletRequestServicerFilter_113059e6de0.java)
> at
>
>
$ServletRequestServicer_113059e6de8.service($ServletRequestServicer_113059e6de8.java)
> at org.apache.tapestry.services.impl.SetupRequestEncoding.service(
> SetupRequestEncoding.java:53)
> at
>
>
$ServletRequestServicerFilter_113059e6de4.service($ServletRequestServicerFilter_113059e6de4.java)
> at
>
>
$ServletRequestServicer_113059e6de8.service($ServletRequestServicer_113059e6de8.java)
> at
>
>
$ServletRequestServicer_113059e6dda.service($ServletRequestServicer_113059e6dda.java)
> at org.apache.tapestry.ApplicationServlet.doService(
> ApplicationServlet.java:126)
> at org.apache.tapestry.ApplicationServlet.doGet(
> ApplicationServlet.java
> :103)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> ApplicationFilterChain.java:252)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:173)
> at hyperassur.web.util.DisableUrlSessionFilter.doFilter(
> DisableUrlSessionFilter.java:60)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> ApplicationFilterChain.java:202)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:173)
> at org.apache.catalina.core.StandardWrapperValve.invoke(
> StandardWrapperValve.java:213)
> at org.apache.catalina.core.StandardContextValve.invoke(
> StandardContextValve.java:178)
> at org.apache.catalina.core.StandardHostValve.invoke(
> StandardHostValve.java:126)
> at org.apache.catalina.valves.ErrorReportValve.invoke(
> ErrorReportValve.java:105)
> at org.apache.catalina.core.StandardEngineValve.invoke(
> StandardEngineValve.java:107)
> at org.apache.catalina.connector.CoyoteAdapter.service(
> CoyoteAdapter.java:148)
> at org.apache.coyote.http11.Http11Processor.process(
> Http11Processor.java
> :869)
> at
>
>
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection
> (Http11BaseProtocol.java:664)
> at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(
> PoolTcpEndpoint.java:527)
> at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(
> LeaderFollowerWorkerThread.java:80)
> at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
> ThreadPool.java:684)
> at java.lang.Thread.run(Thread.java:595)
>
> If someone could help me out before I tear all my hair out...
>
> Thx
> Ch.
>
--
Jesse Kuhnert
Tapestry/Dojo team member/developer
Open source based consulting work centered around
dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com