Just a first guess.

Does wrapper.tml start with a capital W? ie it should be Wrapper.tml and
not wrapper.tml.

Martijn

On Sun, 2008-08-31 at 12:01 -0500, Luther Baker wrote:
> I am a new Tapestry user and enjoying the time coding in it - but having a
> few problems.
> 
> 
> *Summary of the Problem:
> *--------
> Pages work fine. Custom Components, not so well.
> 
> 
> *Tools:*
> --------
> Using Eclipse Ganymede 3.4.0 (1.6 compliance) with WTP and m2 MAVEN plugin
> Netbeans 6.1 and native MAVEN support
> Using Tomcat 6.0.16
> Using JDK 1.6.0_06
> Using Maven (m2 plugin with eclipse,native support in Netbeans, command line
> manually deploy as well).
> pom.xml in all cases includes the clause to package class files to a jar and
> include in the lib directory as described on the website for tomcat. This is
> not adhered to in the Eclipse WTP framework - so I tried it multiple ways.
> 
> 
> *Details of the Problem:*
> --------
> 1. I can successfully get a simple build working great. I can create
> home.tml in the src/main/webapp directory and that automatically ties into
> the defined **.pages.Home.java class.
> 
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "
> http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
> <html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd";
> lang="en">
>     <head>
>         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"
> />
>         <title>Home</title>
>     </head>
>     <body>
>         <h1>Home</h1>
>         <ul>
>             <li><t:pageLink page="about">About</t:pageLink></li>
>             <li><t:pageLink page="contact">Contact</t:pageLink></li>
>         </ul>
>     </body>
> </html>
> 
> 
> 2. I think create two other pages and their corresponding java classes
> (home.tml, about.tml, contact.tml). Both Eclipse WTP and Netbeans native
> deployments work with this.
> 
> 
> 3. Now the problem. I create **.components.Wrapper.java. I create
> src/main/resources/**/components/wrapper.tml.
> 
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "
> http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
> <html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd";
> lang="en">
>     <head>
>         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"
> />
>         <title>Wrapper</title>
>     </head>
>     <body>
>         <t:body/>
>     </body>
> </html>
> 
> 
> and I alter contact.tml to use the new component:
> 
> <t:wrapper xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd";
> lang="en">
>         <h1>Contact</h1>
>         <ul>
>             <li><t:pageLink page="home">Home</t:pageLink></li>
>             <li><t:pageLink page="about">About</t:pageLink></li>
>         </ul>
> </t:wrapper>
> 
> I create the appropriately packaged Wrapper.java (**.components). This
> package directly matches the package where the wrapper.tml file is located.
> The wrapper.tml is in the MAVEN src/main/resources while the Java class is
> physically in src/main/java.
> 
> // $Id$
> package website.web.components;
> 
> public class Wrapper
> {
> 
> }
> 
> 
> I run this and http://localhost:8080/home works great. Home's like to
> "about" works great: http://localhost:8080/about. But when I finally click
> on "contact" - I literally see this in the browser (view source):
> 
> <ul><li><a href="home">Home</a></li><li><a href="about">About</a></li></ul>
> 
> 
> It is not correctly instantiating the component. Nothing about "wrapper" is
> getting used.
> 
> I have this in Eclipse, Netbeans and even deployed directly tomcat manually
> from a MAVEN build:
> 
>   <build>
>       <plugins>
>           <plugin>
>               <groupId>org.apache.maven.plugins</groupId>
>               <artifactId>maven-compiler-plugin</artifactId>
>               <configuration>
>                   <source>1.6</source>
>                   <target>1.6</target>
>                   <optimize>true</optimize>
>               </configuration>
>           </plugin>
>           <plugin>
>               <groupId>org.apache.maven.plugins</groupId>
>               <artifactId>maven-war-plugin</artifactId>
>               <configuration>
>                   <archiveClasses>true</archiveClasses>
>               </configuration>
>           </plugin>
>       </plugins>
>   </build>
> 
> And still - that component is just not getting picked up.
> 
> If I change the name of the component class (Wrapper.java -> Trapper.java)
> then I correctly get a well written error saying:
> 
> An unexpected application exception has occurred.
> 
> Render queue error in BeginRender[Home:pagelink_0]: Unable to resolve
> 'wrapper' to a component class name. Available component types: ActionLink,
> AddRowLink, AjaxFormLoop, Any, BeanDisplay, BeanEditForm, BeanEditor,
> Checkbox, DateField, Delegate, Errors, EventLink, ExceptionDisplay, Form,
> FormFragment, FormInjector, Grid, GridCell, GridColumns, GridPager,
> GridRows, If, Label, Loop, Output, OutputRaw, PageLink, Palette,
> PasswordField, PropertyDisplay, PropertyEditor, Radio, RadioGroup,
> RemoveRowLink, RenderObject, Select, Submit, SubmitNotifier, TextArea,
> TextField, TextOutput, Trapper, Unless, Zone.
> 
> 
> If I rename the template file "wrapper.tml" to some other nonsense, the
> system doesn't seem to care. No exception or different behavior pops up. So
> - I think the problem is that the class cannot find or doesn't look for the
> template file. I guess this is consistent with the tomcat specific
> instructions provided on the tapestry5 website - but I did indeed confirm
> that both are present in the manual maven build - in the lib directy in an
> application JAR file and still no luck.
> 
> Thoughts?
> 
> Thanks in advance,
> 
> -Luther
> 
> 
> 
> I wouldn't mind helping out on this if I can. I loaded the source and trying
> to follow it - but at the moment - I'm a bit spun around. I really think
> Tapestry needs to support the Eclipse-WTP/tomcat build environment out of
> the box. I have to think that alot of folks are standardizing on that
> toolset for local development and debugging.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to