You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by "Joost Schouten (ml)" <jo...@jsportal.com> on 2008/04/10 01:39:30 UTC

Re: [T5] strange error

Salamon,

The exception seems to indicate you  have a component variable annotated 
with @Component(id = "itm") in your EditForm.java without declaring 
t:id="itm" in one of your tags in you template? But it would be helpful 
to see the whole source with links and action methods.

Cheers,
Joost

Salamon Zsolt wrote:
> Hi I got this error and I don't know why.
>
> I use 5.0.5 Tapestry.
>
> Intez is a page object.
> EditForm is a Component object.
>
> I include a simplified sources:
>
> EditForm.java
> ===========
>   private StringTranslator stringTrs;
>
>   public StringTranslator getStringTrs() {
>     if( stringTrs == null ) stringTrs = new StringTranslator();
>     return stringTrs;
>   }
>
>   @Persist
>   private int id;
>
>   public String getId() {
>     return id;
>   }
>
>   public void setId( String id ) {
>     this.id = id;
>   }
>
>   @Persist
>   private Tezm itm = null;
>
>   public Tezm getItm() {
>     return itm;
>   }
>
>   public void setItm( Tezm itm ) {
>     this.itm = itm;
>   }
>
>   @SetupRender
>   void setupEditForm() {
>         IntezDTO dto = new IntezDTO();
>         dto.setInezId(id);
>         itm = ServiceLocator.getIntezService().getIntez("", dto); 
> //that line is give a Tezm hibernate object, which selected from DB, 
> uses the given id for primary key.
>   }
>
> ==================================
>
> Tezm is a hibernate.mapping object. Generated by hbm2java.
>
> EditForm.html
> ==========
>
> <table>
> <tr>
>   <td>
>     ${message:id-label}
>   </td>
>   <td>
>     <t:TextField
>       t:id="itm.id"
>       t:translate="stringTrs"
>       t:value="itm.id"
>       />
>   </td>
> </tr>
> <tr>
>   <td>
>     ${message:name-label}
>   </td>
>   <td>
>     <t:TextField
>       t:id="itm.name"
>       t:translate="stringTrs"
>       t:value="itm.name"
>       />
>   </td>
> </tr>
>
>
> So my problem is: When I load in browser that page, that works. I see 
> the fields with correct values.
> But when I click any button on the page(any button click causes a post 
> submit) I got this error:
>
> ERROR [RequestExceptionHandler] Processing of request failed with 
> uncaught exception: Component Intez:editform does not contain an 
> embedded component with id 'itm'.
> org.apache.tapestry.ioc.internal.util.TapestryException: Component 
> Intez:editform does not contain an embedded component with id 'itm'.
>         at 
> org.apache.tapestry.corelib.components.Form.onAction(Form.java:375)
>         at 
> org.apache.tapestry.corelib.components.Form.handleComponentEvent(Form.java) 
>
>         at 
> my.package.web.components.intezmeny.ItmKarbantartEditForm.handleComponentEvent(ItmKarbantartEditForm.java) 
>
>         at 
> org.apache.tapestry.internal.structure.ComponentPageElementImpl.handleEvent(ComponentPageElementImpl.java:893) 
>
>         at 
> org.apache.tapestry.internal.structure.ComponentPageElementImpl.triggerEvent(ComponentPageElementImpl.java:998) 
>
>         at 
> org.apache.tapestry.internal.services.ComponentActionRequestHandlerImpl.handle(ComponentActionRequestHandlerImpl.java:81) 
>
>         at 
> org.apache.tapestry.internal.services.InternalModule$11.handle(InternalModule.java:541) 
>
>         at 
> $ComponentActionRequestHandler_116cd810cf4.handle($ComponentActionRequestHandler_116cd810cf4.java) 
>
>         at 
> $ComponentActionRequestHandler_116cd810c5b.handle($ComponentActionRequestHandler_116cd810c5b.java) 
>
>         at 
> org.apache.tapestry.internal.services.ComponentActionDispatcher.dispatch(ComponentActionDispatcher.java:116) 
>
>         at $Dispatcher_116cd810c5d.dispatch($Dispatcher_116cd810c5d.java)
>         at $Dispatcher_116cd810c50.dispatch($Dispatcher_116cd810c50.java)
>         at 
> org.apache.tapestry.services.TapestryModule$12.service(TapestryModule.java:1066) 
>
>         at my.package.web.services.AppModule$2.service(AppModule.java:74)
>         at 
> $RequestFilter_116cd810c4f.service($RequestFilter_116cd810c4f.java)
>         at 
> $RequestHandler_116cd810c51.service($RequestHandler_116cd810c51.java)
>         at my.package.web.services.AppModule$1.service(AppModule.java:36)
>         at 
> $RequestFilter_116cd810c4e.service($RequestFilter_116cd810c4e.java)
>         at 
> $RequestHandler_116cd810c51.service($RequestHandler_116cd810c51.java)
>         at 
> org.apache.tapestry.internal.services.LocalizationFilter.service(LocalizationFilter.java:43) 
>
>         at 
> $RequestHandler_116cd810c51.service($RequestHandler_116cd810c51.java)
>         at 
> org.apache.tapestry.services.TapestryModule$2.service(TapestryModule.java:657) 
>
>         at 
> $RequestHandler_116cd810c51.service($RequestHandler_116cd810c51.java)
>         at 
> org.apache.tapestry.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:63) 
>
>         at 
> $RequestHandler_116cd810c51.service($RequestHandler_116cd810c51.java)
>         at 
> org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:97) 
>
>         at 
> org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:88) 
>
>         at 
> org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:77) 
>
>         at 
> org.apache.tapestry.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:110) 
>
>         at 
> $RequestHandler_116cd810c51.service($RequestHandler_116cd810c51.java)
>         at 
> $RequestHandler_116cd810c48.service($RequestHandler_116cd810c48.java)
>         at 
> org.apache.tapestry.services.TapestryModule$11.service(TapestryModule.java:1044) 
>
>         at 
> $HttpServletRequestHandler_116cd810c47.service($HttpServletRequestHandler_116cd810c47.java) 
>
>         at 
> org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:135)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) 
>
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) 
>
>         at 
> org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 
>
>         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.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175) 
>
>         at 
> org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74) 
>
>         at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) 
>
>         at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) 
>
>         at 
> org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156) 
>
>         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.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112) 
>
>         at java.lang.Thread.run(Thread.java:613)
> Caused by: org.apache.tapestry.ioc.internal.util.TapestryException: 
> Component Intez:editform does not contain an embedded component with 
> id 'itm'. [at context:WEB-INF/Intez.html, line 7, column 78]
>         at 
> org.apache.tapestry.internal.structure.ComponentPageElementImpl.getEmbeddedElement(ComponentPageElementImpl.java:831) 
>
>         at 
> org.apache.tapestry.internal.structure.PageImpl.getComponentElementByNestedId(PageImpl.java:83) 
>
>         at 
> org.apache.tapestry.internal.services.ComponentSourceImpl.getComponent(ComponentSourceImpl.java:46) 
>
>         at 
> $ComponentSource_116cd810c77.getComponent($ComponentSource_116cd810c77.java) 
>
>         at 
> org.apache.tapestry.corelib.components.Form.onAction(Form.java:362)
>         ... 52 more
>
> Any ideas?
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org