Tapestry looks for the properties file in the same folder as the spec. Tapestry creates a "fake" spec for specless pages/components and it is in the same folder as the application specification. Nothing is added to the filesystem - a specification object is created with it's location set.
And that's why the poperties file is sought where it is. A nicer touch would be to create the faker in the same folder as the template! Geoff PS. If you don't have a .application file that folder is /WEB-INF On 1/5/06, Michael Melvin <[EMAIL PROTECTED]> wrote: > Aha! That was it - or mostly it anyway: > > Moving the .html files up worked as far as being able to remove the .page > files. However, the .properties files appear to need to stay in the WEB-INF > directory. > > Thanks Jeff! > > -mike > > ________________________________ > > From: Jeff Lubetkin [mailto:[EMAIL PROTECTED] > Sent: Thu 1/5/2006 12:13 PM > To: Tapestry users > Subject: RE: Eliminating .page files in 4.0 > > > > Try moving your Home.html and Home.properties to the directory above > WEB-INF, the root of the servlet context. > > When Tapestry creates the "implicit" specification for the page, it > won't look in WEB-INF for the template to determine if it exists...it > only looks relative to context root (see > PageSpecificationResolverImpl.searchForPage). We solved this with a > custom SpecificationResolverDelegate that does the appropriate searching > relative to the application spec, which will search in WEB-INF if that's > where the app spec is. I can share that code if you're interested. > > jeff > > -----Original Message----- > From: Michael Melvin [mailto:[EMAIL PROTECTED] > Sent: Thursday, January 05, 2006 7:57 AM > To: [email protected] > Subject: Eliminating .page files in 4.0 > > I seem to be having an issue doing this, and have read several places > that say it can be done. Everything is fine with the Home.page present > (picks up the properties, etc), but as soon as I remove the file, I get > the "Page 'Home' not found in namespace" error. I don't know if the > entry in publicweb.application is correct or not, but it appeared to be > right according to the examples that I saw. This is Tapestry 4.0-rc-3, > and JBoss 4.0.3, Java 1.5.0_b3. I am trying to use annotations only, > and avoid the use of a 3rd file (.java, .html and .page) if possible. > > My current setup is as follows: > > Directory Structure: > > WEB-INF > |_ classes > |_ ca > |_ digitalperversion > |_ publicweb > |_ pages > |_ Home.java > > |_ Home.html > |_ Home.properties > |_ Home.page > |_ publicweb.application > |_ web.xml > > > > Home.html: > > <html> > <head> > <title><span jwcid="@Insert" value="ognl:pageTitle">Title</span></title> > </head> > Hello World! > </html> > > > > Home.java: > > package ca.digitalperversion.publicweb.pages; > > import org.apache.tapestry.annotations.Message; > import org.apache.tapestry.html.BasePage; > import ca.tripcentral.badger.dao.ServerDao; > > public abstract class Home extends BasePage { > @Message > public abstract String getPageTitle(); > } > > > > Home.page: > > <?xml version="1.0"?> > <!DOCTYPE page-specification PUBLIC > "-//Apache Software Foundation//Tapestry Specification 4.0//EN" > "http://jakarta.apache.org/tapestry/dtd/Tapestry_4_0.dtd"> > <page-specification /> > > > > Home.properties: > > page-title=Home Title > > > > publicweb.application: > > <?xml version="1.0"?> > <!DOCTYPE application PUBLIC > "-//Apache Software Foundation//Tapestry Specification 4.0//EN" > "http://jakarta.apache.org/tapestry/dtd/Tapestry_4_0.dtd"> > <application name="Public Website"> > <meta key="org.apache.tapestry.page-class-packages" > value="ca.digitalperversion.publicweb.pages"/> > <library id="contrib" > specification-path="classpath:/org/apache/tapestry/contrib/Contrib.libra > ry"/> > </application> > > > web.xml: > > <?xml version="1.0"?> > <web-app xmlns="http://java.sun.com/xml/ns/j2ee" > xmlns:xsi="http://www.w3.org/TR/xmlschema-1/" > xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" > version="2.4"> > <display-name>Public Web</display-name> > <servlet> > <servlet-name>publicweb</servlet-name> > <servlet-class>org.apache.tapestry.ApplicationServlet</servlet-class> > <load-on-startup>1</load-on-startup> > </servlet> > <servlet-mapping> > <servlet-name>publicweb</servlet-name> > <url-pattern>/app</url-pattern> > </servlet-mapping> > </web-app> > > > > Thanks, > > -mike > > --------------------------------------------------------------------- > 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] > > -- The Spindle guy. http://spindle.sf.net Get help with Spindle: http://lists.sourceforge.net/mailman/listinfo/spindle-user Announcement Feed: http://www.jroller.com/rss/glongman?catname=/Announcements Feature Updates: http://spindle.sf.net/updates --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
