parameter passing from child page to parent component
Hi, I am new to Tapestry and to version 5. I am trying to use a page to pass in the parameter string to my layout component. Example, passing in a title from my page to my layout component. Also, trying to do this without using injection. Let me know if this is feasible. Thanks, - Bryant -- Bryant Castaneda Computer Scientist - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: parameter passing from child page to parent component
Hy Bryant, Just a reminder that templates can access messages which are cataloged in either YourApp.properties or SomeComponent.properties. So if you have a layout component then you could simply have it access a message string like so: title${message:myapp.title}title No if that doesn't suit, and of course it won't if you need a title to depend on application state, then you need to use a component parameter. Here's what your class might look like: public class MyLayout { @Parameter private String title = ; /** * We'll use 'title' in the template, so we'll need a getter. * @return the title */ public String getTitle() { return title; } And layout your (minimal) MyLayout.html template: html head title${title}/title /head body t:body/ /body /html Now when you use your layout component you simply have to pass in the title. From a template this would be: div t:mylayout title=pageTitle/ /div Here pageTitle would have to be a property of the page using the component. Remember that the default binding prefix for component parameters is prop:, which means Tapestry will try to access a getter named getPageTitle on your page. You could also probably initialize the component title from your page class by declaring the component in the page and then setting it programatically. Hope that helps. chris Bryant Castaneda wrote: Hi, I am new to Tapestry and to version 5. I am trying to use a page to pass in the parameter string to my layout component. Example, passing in a title from my page to my layout component. Also, trying to do this without using injection. Let me know if this is feasible. Thanks, - Bryant - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[T5] - Parameter passing between Components.
Dear friends, i have a search box in my page layout, and a component for show list of items (like table and grid) i want to send search result to my grid component to show them, but i don't know how to do it i need it in all of my pages, and i don't want to repeat code in all pages. any idea ? -- sincerely yours M. H. Shamsi
Fwd: [T5] - Parameter passing between Components.
-- Forwarded message -- From: Mohammad Shamsi [EMAIL PROTECTED] Date: Sep 23, 2007 1:18 PM Subject: [T5] - Parameter passing between Components. To: Tapestry users [EMAIL PROTECTED] Dear friends, i have a search box in my page layout, and a component for show list of items (like table and grid) i want to send search result to my grid component to show them, but i don't know how to do it i need it in all of my pages, and i don't want to repeat code in all pages. any idea ? -- sincerely yours M. H. Shamsi -- sincerely yours M. H. Shamsi
[T5] - Layout and Templating in T5, how to ?
Dear friends, I looked all pages and tutorials related to T5, but i can't find any thing about Layout, something like sitemesh or tiles, where can i find a simple example or guide about T5 Layout ? -- sincerely yours M. H. Shamsi
Re: [T5] - Parameter passing between Components.
Hi Mohammad, I'm not sure I completely understand. I think you have created a component for rendering your search results, and I assume you have created it to accept a parameter containing the results to display. So you should be able to use it like this in your templates: ... div t:searchresults results=results/ /div ... This assumes that you have a component named SearchResults and it receives a Collection (List, Set, etc) of results in a parameter named results. If you already have this, and your component implements your display logic for the results, then you won't really be repeating any code. Of course you may be talking about the logic to get your results, but I'm not sure. Perhaps if you could explain a bit more, I could offer better help. good luck! Mohammad Shamsi wrote: Dear friends, i have a search box in my page layout, and a component for show list of items (like table and grid) i want to send search result to my grid component to show them, but i don't know how to do it i need it in all of my pages, and i don't want to repeat code in all pages. any idea ? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [T5] - Parameter passing between Components.
Hi Chris, sorry for my pour English, i try to explain it completely. we have two pages, each pages has its entity and probably its search parameteres in first entity i want to search X and Y properties. and in second entity i want to search Z, V and W properties each entity has its Service that implement the search method, first - i want to design a layout that let me have 2 dynamic parts, the first part for search parameters and the second part for show result, i don't now hot to build layout in T5 second - when search event fired it most gather parameters and call search pages service i want a write abstract code to use in both pages. On 9/23/07, Chris Lewis [EMAIL PROTECTED] wrote: Hi Mohammad, I'm not sure I completely understand. I think you have created a component for rendering your search results, and I assume you have created it to accept a parameter containing the results to display. So you should be able to use it like this in your templates: ... div t:searchresults results=results/ /div ... This assumes that you have a component named SearchResults and it receives a Collection (List, Set, etc) of results in a parameter named results. If you already have this, and your component implements your display logic for the results, then you won't really be repeating any code. Of course you may be talking about the logic to get your results, but I'm not sure. Perhaps if you could explain a bit more, I could offer better help. good luck! Mohammad Shamsi wrote: Dear friends, i have a search box in my page layout, and a component for show list of items (like table and grid) i want to send search result to my grid component to show them, but i don't know how to do it i need it in all of my pages, and i don't want to repeat code in all pages. any idea ? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- sincerely yours M. H. Shamsi
T5: onchange event from a select
How can I catch the onchange event from a select in T5? are there examples?
Re: [T5] - Parameter passing between Components.
Mohammad, Don't worry about your English. I just moved to a foreign country to learn the language, and its hard. I understand what you need so let's start with your layout component. First you'll need to read about component templates (http://tapestry.apache.org/tapestry5/tapestry-core/guide/templates.html). There is s section that covers layout components there. It's quite easy - basically you just make a normal (X)HTML template, and then where every you want the body to be displayed just use the t:body/ tag. For your layout you want to be able to supply a title as a parameter, so we'll do that. Assume your layout component is named Layout and this is your layout template: Layout.html: html xmlns:t=http://tapestry.apache.org/schema/tapestry_5_0_0.xsd; head title*${title}*/title /head body *t:body/* /body /html That's it for the template. Whenever you use this layout your page content will replace the t:body/ tag. You'd use it in a page named Start like this: Start.html t:layout xmlns:t=http://tapestry.apache.org/schema/tapestry_5_0_0.xsd; Your page content here. /t:layout Now you need a component class for your layout so that it accepts a title parameter. Here's Layout.java: public class Layout { //This annotation says that this component has a parameter named title. @Parameter private String title; /** * A getter for the title, so we can use ${title} in the template. * @return the title */ public String getTitle() { return title; } } That's it. Now revise your Start page to supply a title to the layout: Start.html t:layout xmlns:t=http://tapestry.apache.org/schema/tapestry_5_0_0.xsd; *title=literal:Start Page* Your page content here. /t:layout Here we use the literal binding prefix to pass the string Start Page to the layout component's title. If you want to use a method on the start page to generate the title (like getPageTitle), then create a method named getPageTitle that returns your title, and use ${pageTitle} for the parameter. Read up on component templates and classes, you'll get it. To centralize your query logic you probably need your entities to extend a class that implements the search in a generic way. You'll have to figure that one out or someone else can help here - that's not really a Tapestry concern. To centralize the call to the entity/service search method, you probably need to include the search form (possibly with dynamic parameters?) in your component, and then have the event handler for the Search button retrieve the entity/service interface, so it can then call the search on the underlying entity. Other comments welcome here :). hope this helps! chris Mohammad Shamsi wrote: Hi Chris, sorry for my pour English, i try to explain it completely. we have two pages, each pages has its entity and probably its search parameteres in first entity i want to search X and Y properties. and in second entity i want to search Z, V and W properties each entity has its Service that implement the search method, first - i want to design a layout that let me have 2 dynamic parts, the first part for search parameters and the second part for show result, i don't now hot to build layout in T5 second - when search event fired it most gather parameters and call search pages service i want a write abstract code to use in both pages. On 9/23/07, Chris Lewis [EMAIL PROTECTED] wrote: Hi Mohammad, I'm not sure I completely understand. I think you have created a component for rendering your search results, and I assume you have created it to accept a parameter containing the results to display. So you should be able to use it like this in your templates: ... div t:searchresults results=results/ /div ... This assumes that you have a component named SearchResults and it receives a Collection (List, Set, etc) of results in a parameter named results. If you already have this, and your component implements your display logic for the results, then you won't really be repeating any code. Of course you may be talking about the logic to get your results, but I'm not sure. Perhaps if you could explain a bit more, I could offer better help. good luck! Mohammad Shamsi wrote: Dear friends, i have a search box in my page layout, and a component for show list of items (like table and grid) i want to send search result to my grid component to show them, but i don't know how to do it i need it in all of my pages, and i don't want to repeat code in all pages. any idea ? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [T5] Page with same name as package
But visiting 'www.mydomain.com/myapp/package1' actually does work in that scenario, as long as there is a '/' at the end. And visiting 'www.mydomain.com/myapp/package1/package1/' doesn't work at all. This is actually what I was trying to accomplish, except for the fact that the absence of the trailing '/' causes the 404. (I tested, and it only does so in this scenario.) I assume that the first URL works, and the second URL doesn't, because of the URL filtering that you pointed out to me in the 'Component Classes' chapter. Because each package within the 'pages' package corresponds to a 'directory' in the URL, I would like for it to behave like a typical URL, so that deleting a portion of the URL back to a particular 'directory' will (if desired) cause an associated page to appear. This seems to work as long as in each package where this is desired, you place a class within that package that has the same name as the package. The only trouble is that it breaks if the trailing '/' is excluded. Chris Lewis-5 wrote: I'm afraid I don't understand your example: com.mydomain.myapp.pages.package1.Package1 then visit - www.mydomain.com/myapp/package1 Of course this won't work, since 'package1' is not a page name. However 'package1/package1' should. As for your trailing slash issue, I've not seen that one and it certainly should never occur. Do your tests again just to be sure, and if you still get them then there may need to be a bug report. If this is happening its likely a server issue (im using jetty and have never seen that). chris -- View this message in context: http://www.nabble.com/-T5--Page-with-same-name-as-package-tf4497463.html#a12845926 Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [T5] - Parameter passing between Components.
Hi Chris, i write this sample layout, but i got exception, here is my project structure : resources/WEB-INF/ -- Start.html --/test/components/Layout.html src/test/pages --Start.java src/test/compoents --Layout.java when i run application i got this error on page : An unexpected application exception has occurred. - java.lang.IllegalStateException This markup writer does not have a current element. The current element is established with the first call to element() and is maintained across subsequent calls. Stack trace - org.apache.tapestry.internal.services.MarkupWriterImpl.ensureCurrentElement (MarkupWriterImpl.java:125) - org.apache.tapestry.internal.services.MarkupWriterImpl.write( MarkupWriterImpl.java:76) - org.apache.tapestry.internal.structure.TextPageElement.render( TextPageElement.java:34) - org.apache.tapestry.internal.services.RenderQueueImpl.run( RenderQueueImpl.java:57) - org.apache.tapestry.internal.services.PageMarkupRendererImpl.renderPageMarkup (PageMarkupRendererImpl.java:40) - org.apache.tapestry.internal.services.PageResponseRendererImpl.renderPageResponse (PageResponseRendererImpl.java:71) - org.apache.tapestry.internal.services.PageRenderRequestHandlerImpl.handle (PageRenderRequestHandlerImpl.java:81) - org.apache.tapestry.internal.services.RootPathDispatcher.dispatch (RootPathDispatcher.java:59) - org.apache.tapestry.services.TapestryModule$12.service( TapestryModule.java:1066) - org.apache.tapestry.internal.services.LocalizationFilter.service (LocalizationFilter.java:43) - org.apache.tapestry.services.TapestryModule$2.service( TapestryModule.java:657) - org.apache.tapestry.internal.services.StaticFilesFilter.service( StaticFilesFilter.java:63) - org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke (CheckForUpdatesFilter.java:97) - org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke (CheckForUpdatesFilter.java:88) - org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRead (ConcurrentBarrier.java:77) - org.apache.tapestry.internal.services.CheckForUpdatesFilter.service (CheckForUpdatesFilter.java:110) - org.apache.tapestry.services.TapestryModule$11.service( TapestryModule.java:1044) - org.apache.tapestry.TapestryFilter.doFilter( TapestryFilter.java:135) - org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:235) - org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:206) - org.apache.catalina.core.StandardWrapperValve.invoke( StandardWrapperValve.java:228) - org.apache.catalina.core.StandardContextValve.invoke( StandardContextValve.java:175) - org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:128) - org.apache.catalina.valves.ErrorReportValve.invoke( ErrorReportValve.java:104) - org.apache.catalina.core.StandardEngineValve.invoke( StandardEngineValve.java:109) - org.apache.catalina.connector.CoyoteAdapter.service( CoyoteAdapter.java:216) - org.apache.coyote.http11.Http11Processor.process( Http11Processor.java:844) - org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process (Http11Protocol.java:634) - org.apache.tomcat.util.net.JIoEndpoint$Worker.run( JIoEndpoint.java:445) - java.lang.Thread.run(Thread.java:595) Request Context Path/appRequest Path/Localeen_USHeaders accepttext/xml,application/xml,application/xhtml+xml,text/html;q=0.9 ,text/plain;q=0.8,image/png,*/*;q=0.5accept-charsetUTF-8,*accept-encoding gzip,deflateaccept-languageen-us,en;q=0.5connectionkeep-alivehost localhost:8080keep-alive300user-agentMozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.7) Gecko/20070914 Firefox/2.0.0.7 On 9/23/07, Chris Lewis [EMAIL PROTECTED] wrote: Mohammad, Don't worry about your English. I just moved to a foreign country to learn the language, and its hard. I understand what you need so let's start with your layout component. First you'll need to read about component templates (http://tapestry.apache.org/tapestry5/tapestry-core/guide/templates.html). There is s section that covers layout components there. It's quite easy - basically you just make a normal (X)HTML template, and then where every you want the body to be displayed just use the t:body/ tag. For your layout you want to be able to supply a title as a parameter, so we'll do that. Assume your layout component is named Layout and this is your layout template: Layout.html: html xmlns:t=http://tapestry.apache.org/schema/tapestry_5_0_0.xsd; head title*${title}*/title /head body
Re: [T5] Page with same name as package (background for clarity)
I've a couple reasons for wanting to be able to essentially have a package appear as a page. One is that I would love to have my static website be a Tapestry application. Partly because development using components just seems quicker and easier than development using Dreamweaver templates. I would then also have the ability to introduce more dynamic features wherever I want. Tapestry's 'pretty URLs' makes this a possibility. So say this is a URL at my site (which it is): www.dalewhalen.com/HousePlans/TwoStory.html A user can delete 'TwoStory.html' and be back at the HousePlans section of the site. www.dalewhalen.com/HousePlans/ It would be the same in a Tapestry version of the site, except that there would be no '.html' in the URL. To accomplish this right now, I have to create these two classes: com.dalewhalen.site.pages.houseplans.TwoStory com.dalewhalen.site.pages.houseplans.HousePlans (If you haven't read the rest of the postings on this topic, using houseplans.HousePlans was the only way I could find to accomplish this, though there seems to be a trailing '/' issue.) It would be nicer if Tapestry had a default page class (similar to 'index.html' in Apache) that could be placed inside of a package that would allow that class/page to appear when selecting that package/directory. It could be called 'index' or 'default' or anything else really, since you would never actually see the class/page name in the URL; only the package/directory name. Maybe 'packageDefault' ? Anyway, that's just one reason. The existence of 'pretty URLs' to some degree invites more direct user manipulation of the URL. It would be nice to be able to accommodate some of those more useful manipulations. patrick whalen wrote: Is there a way to create a page/class that has the same name as the package it's in? It would be similar behavior to the way placing an index.html file in a directory served by Apache will let you access that file via the name of the directory, excluding 'index.html' in the URL. For example, in: com.mydomain.myapp.pages.subpackage1.* I could reference a page at: www.mydomain.com/myapp/subpackage1 I've tried creating a class under subpackage1 called 'Index' or 'Start', but those didn't work. I've also tried creating a class under myapp.pages called (for this example) 'Subpackage1'. This works, but then any pages/classes created under the package pages.subpackage1 are ignored. As though when Tapestry is reading the URL, it assumes i am referencing the class, and doesn't see that there is also a matching package as well as more information in the URL. One other behavior that seems related is that if I have the following page class (and related html file): myapp.pages.project.projectinfo the URL: www.myapp.com/project/projectinfo doesn't work, but this URL: www.myapp.com/project/info does work. I'm new(ish), and have bounced in and out of tinkering with webapp development for a while now. T5 has got me pretty close to being sucked back in. Thanks much. patrick -- View this message in context: http://www.nabble.com/-T5--Page-with-same-name-as-package-tf4497463.html#a12846148 Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [T5] - Layout and Templating in T5, how to ?
Please search the archives of this mailing list - there have been several threads about layout. http://wiki.apache.org/tapestry/Tapestry5HowToSearchTheMailingLists Cheers. On 9/23/07, Mohammad Shamsi [EMAIL PROTECTED] wrote: Dear friends, I looked all pages and tutorials related to T5, but i can't find any thing about Layout, something like sitemesh or tiles, where can i find a simple example or guide about T5 Layout ? -- sincerely yours M. H. Shamsi - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Page Layout Error
Hi Mohammad, It would help if you would show the actual (relevant) content of your class and html file, since if you would have followed the guide, it should have worked :-) Related to your other question: The xsd template hasn't got a final (full) version yet, AFAIK. Did you also have a look at the Wiki - and did you already create the maven archetype project to get started? See http://wiki.apache.org/tapestry/Tapestry5HowTos (top of the page) Cheers Erik On 9/23/07, Mohammad Shamsi [EMAIL PROTECTED] wrote: Hi All, i have created a simple page layout, as i read in this guide : http://tapestry.apache.org/tapestry5/tapestry-core/guide/templates.html but when i run my application, i got this exception : Sep 23, 2007 2:54:24 PM org.apache.tapestry.internal.services.PagePoolImplrelease SEVERE: Page Page[Start en] is dirty, and will be discarded (rather than returned to the page pool). Sep 23, 2007 2:54:24 PM org.apache.tapestry.internal.services.RenderQueueImpl run SEVERE: Render queue error in Text[ My Page Specific Content ]: This markup writer does not have a current element. The current element is established with the first call to element() and is maintained across subsequent calls. java.lang.IllegalStateException: This markup writer does not have a current element. The current element is established with the first call to element() and is maintained across subsequent calls. at org.apache.tapestry.internal.services.MarkupWriterImpl.ensureCurrentElement ( MarkupWriterImpl.java:125) at org.apache.tapestry.internal.services.MarkupWriterImpl.write( MarkupWriterImpl.java:76) at org.apache.tapestry.internal.structure.TextPageElement.render( TextPageElement.java:34) at org.apache.tapestry.internal.services.RenderQueueImpl.run( RenderQueueImpl.java:57) at org.apache.tapestry.internal.services.PageMarkupRendererImpl.renderPageMarkup (PageMarkupRendererImpl.java:40) at $PageMarkupRenderer_115321c5e3a.renderPageMarkup($PageMarkupRenderer_115321c5e3a.java) at org.apache.tapestry.internal.services.PageResponseRendererImpl.renderPageResponse (PageResponseRendererImpl.java:71) at $PageResponseRenderer_115321c5e05.renderPageResponse($PageResponseRenderer_115321c5e05.java) at org.apache.tapestry.internal.services.PageRenderRequestHandlerImpl.handle( PageRenderRequestHandlerImpl.java:81) at $PageRenderRequestHandler_115321c5e24.handle($PageRenderRequestHandler_115321c5e24.java) at org.apache.tapestry.internal.services.RootPathDispatcher.dispatch( RootPathDispatcher.java:59) at $Dispatcher_115321c5e27.dispatch($Dispatcher_115321c5e27.java) at $Dispatcher_115321c5e1a.dispatch($Dispatcher_115321c5e1a.java) at org.apache.tapestry.services.TapestryModule$12.service( TapestryModule.java:1066) at org.apache.tapestry.internal.services.LocalizationFilter.service( LocalizationFilter.java:43) at $RequestHandler_115321c5e1b.service($RequestHandler_115321c5e1b.java) at org.apache.tapestry.services.TapestryModule$2.service( TapestryModule.java:657) at $RequestHandler_115321c5e1b.service($RequestHandler_115321c5e1b.java) at org.apache.tapestry.internal.services.StaticFilesFilter.service( StaticFilesFilter.java:63) at $RequestHandler_115321c5e1b.service($RequestHandler_115321c5e1b.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_115321c5e1b.service($RequestHandler_115321c5e1b.java) at $RequestHandler_115321c5e14.service($RequestHandler_115321c5e14.java) at org.apache.tapestry.services.TapestryModule$11.service( TapestryModule.java:1044) at $HttpServletRequestHandler_115321c5e13.service($HttpServletRequestHandler_115321c5e13.java) at org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java :135) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke( StandardWrapperValve.java:228) at org.apache.catalina.core.StandardContextValve.invoke( StandardContextValve.java:175) at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke( ErrorReportValve.java:104) at org.apache.catalina.core.StandardEngineValve.invoke( StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service( CoyoteAdapter.java:216)
Re: Page Layout Error
Hi Erik, i use Intellij IDEA for development, my project structure is : ---/resources/WEB-INF/Start.html ---/resources/WEB-INF/test/components/Layout.html ---/src/test/pages/Start.java ---/src/test/components/Layout.java in web.xml : context-param param-nametapestry.app-package/param-name param-valuetest/param-value /context-param Layout.html and Start.html is same as document that available in tapestry 5 documents On 9/23/07, Erik Vullings [EMAIL PROTECTED] wrote: Hi Mohammad, It would help if you would show the actual (relevant) content of your class and html file, since if you would have followed the guide, it should have worked :-) Related to your other question: The xsd template hasn't got a final (full) version yet, AFAIK. Did you also have a look at the Wiki - and did you already create the maven archetype project to get started? See http://wiki.apache.org/tapestry/Tapestry5HowTos (top of the page) Cheers Erik On 9/23/07, Mohammad Shamsi [EMAIL PROTECTED] wrote: Hi All, i have created a simple page layout, as i read in this guide : http://tapestry.apache.org/tapestry5/tapestry-core/guide/templates.html but when i run my application, i got this exception : Sep 23, 2007 2:54:24 PM org.apache.tapestry.internal.services.PagePoolImplrelease SEVERE: Page Page[Start en] is dirty, and will be discarded (rather than returned to the page pool). Sep 23, 2007 2:54:24 PM org.apache.tapestry.internal.services.RenderQueueImpl run SEVERE: Render queue error in Text[ My Page Specific Content ]: This markup writer does not have a current element. The current element is established with the first call to element() and is maintained across subsequent calls. java.lang.IllegalStateException: This markup writer does not have a current element. The current element is established with the first call to element() and is maintained across subsequent calls. at org.apache.tapestry.internal.services.MarkupWriterImpl.ensureCurrentElement ( MarkupWriterImpl.java:125) at org.apache.tapestry.internal.services.MarkupWriterImpl.write( MarkupWriterImpl.java:76) at org.apache.tapestry.internal.structure.TextPageElement.render( TextPageElement.java:34) at org.apache.tapestry.internal.services.RenderQueueImpl.run( RenderQueueImpl.java:57) at org.apache.tapestry.internal.services.PageMarkupRendererImpl.renderPageMarkup (PageMarkupRendererImpl.java:40) at $PageMarkupRenderer_115321c5e3a.renderPageMarkup($PageMarkupRenderer_115321c5e3a.java) at org.apache.tapestry.internal.services.PageResponseRendererImpl.renderPageResponse (PageResponseRendererImpl.java:71) at $PageResponseRenderer_115321c5e05.renderPageResponse($PageResponseRenderer_115321c5e05.java) at org.apache.tapestry.internal.services.PageRenderRequestHandlerImpl.handle( PageRenderRequestHandlerImpl.java:81) at $PageRenderRequestHandler_115321c5e24.handle($PageRenderRequestHandler_115321c5e24.java) at org.apache.tapestry.internal.services.RootPathDispatcher.dispatch ( RootPathDispatcher.java:59) at $Dispatcher_115321c5e27.dispatch($Dispatcher_115321c5e27.java) at $Dispatcher_115321c5e1a.dispatch($Dispatcher_115321c5e1a.java) at org.apache.tapestry.services.TapestryModule$12.service( TapestryModule.java:1066) at org.apache.tapestry.internal.services.LocalizationFilter.service( LocalizationFilter.java:43) at $RequestHandler_115321c5e1b.service($RequestHandler_115321c5e1b.java) at org.apache.tapestry.services.TapestryModule$2.service( TapestryModule.java:657) at $RequestHandler_115321c5e1b.service($RequestHandler_115321c5e1b.java) at org.apache.tapestry.internal.services.StaticFilesFilter.service( StaticFilesFilter.java:63) at $RequestHandler_115321c5e1b.service($RequestHandler_115321c5e1b.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_115321c5e1b.service($RequestHandler_115321c5e1b.java) at $RequestHandler_115321c5e14.service($RequestHandler_115321c5e14.java) at org.apache.tapestry.services.TapestryModule$11.service( TapestryModule.java:1044) at $HttpServletRequestHandler_115321c5e13.service($HttpServletRequestHandler_115321c5e13.java) at org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java :135) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:235) at
Re: Page Layout Error
I would REALLY recommend that you first create a maven archetype and start learning from there: you have already asked a lot of questions today, and most of your problems seem to be related to the way you have setup your project. However, Tapestry expects certain things to be in certain places, and your layout below is wrong. Also, search the mailing list for intellij if you need to move stuff around. Good luck, Erik On 9/23/07, Mohammad Shamsi [EMAIL PROTECTED] wrote: Hi Erik, i use Intellij IDEA for development, my project structure is : ---/resources/WEB-INF/Start.html ---/resources/WEB-INF/test/components/Layout.html ---/src/test/pages/Start.java ---/src/test/components/Layout.java in web.xml : context-param param-nametapestry.app-package/param-name param-valuetest/param-value /context-param Layout.html and Start.html is same as document that available in tapestry 5 documents On 9/23/07, Erik Vullings [EMAIL PROTECTED] wrote: Hi Mohammad, It would help if you would show the actual (relevant) content of your class and html file, since if you would have followed the guide, it should have worked :-) Related to your other question: The xsd template hasn't got a final (full) version yet, AFAIK. Did you also have a look at the Wiki - and did you already create the maven archetype project to get started? See http://wiki.apache.org/tapestry/Tapestry5HowTos (top of the page) Cheers Erik On 9/23/07, Mohammad Shamsi [EMAIL PROTECTED] wrote: Hi All, i have created a simple page layout, as i read in this guide : http://tapestry.apache.org/tapestry5/tapestry-core/guide/templates.html but when i run my application, i got this exception : Sep 23, 2007 2:54:24 PM org.apache.tapestry.internal.services.PagePoolImplrelease SEVERE: Page Page[Start en] is dirty, and will be discarded (rather than returned to the page pool). Sep 23, 2007 2:54:24 PM org.apache.tapestry.internal.services.RenderQueueImpl run SEVERE: Render queue error in Text[ My Page Specific Content ]: This markup writer does not have a current element. The current element is established with the first call to element() and is maintained across subsequent calls. java.lang.IllegalStateException: This markup writer does not have a current element. The current element is established with the first call to element() and is maintained across subsequent calls. at org.apache.tapestry.internal.services.MarkupWriterImpl.ensureCurrentElement ( MarkupWriterImpl.java:125) at org.apache.tapestry.internal.services.MarkupWriterImpl.write( MarkupWriterImpl.java:76) at org.apache.tapestry.internal.structure.TextPageElement.render( TextPageElement.java:34) at org.apache.tapestry.internal.services.RenderQueueImpl.run( RenderQueueImpl.java:57) at org.apache.tapestry.internal.services.PageMarkupRendererImpl.renderPageMarkup (PageMarkupRendererImpl.java:40) at $PageMarkupRenderer_115321c5e3a.renderPageMarkup($PageMarkupRenderer_115321c5e3a.java) at org.apache.tapestry.internal.services.PageResponseRendererImpl.renderPageResponse (PageResponseRendererImpl.java:71) at $PageResponseRenderer_115321c5e05.renderPageResponse($PageResponseRenderer_115321c5e05.java) at org.apache.tapestry.internal.services.PageRenderRequestHandlerImpl.handle( PageRenderRequestHandlerImpl.java:81) at $PageRenderRequestHandler_115321c5e24.handle($PageRenderRequestHandler_115321c5e24.java) at org.apache.tapestry.internal.services.RootPathDispatcher.dispatch ( RootPathDispatcher.java:59) at $Dispatcher_115321c5e27.dispatch($Dispatcher_115321c5e27.java) at $Dispatcher_115321c5e1a.dispatch($Dispatcher_115321c5e1a.java) at org.apache.tapestry.services.TapestryModule$12.service( TapestryModule.java:1066) at org.apache.tapestry.internal.services.LocalizationFilter.service( LocalizationFilter.java:43) at $RequestHandler_115321c5e1b.service($RequestHandler_115321c5e1b.java) at org.apache.tapestry.services.TapestryModule$2.service( TapestryModule.java:657) at $RequestHandler_115321c5e1b.service($RequestHandler_115321c5e1b.java) at org.apache.tapestry.internal.services.StaticFilesFilter.service ( StaticFilesFilter.java:63) at $RequestHandler_115321c5e1b.service($RequestHandler_115321c5e1b.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
Re: Page Layout Error
Hi Mohammad, There is nothing to it. Just google for maven download, unpack it to a directory, and put the maven binary somewhere in your environment path. Afterwards, you can just call maven to create the archetype, and it will download all dependencies automatically. The layout component is like a regular component, and it resides in the component package (both layout.class and layout.html). Erik On 9/23/07, Mohammad Shamsi [EMAIL PROTECTED] wrote: Hi Erik, i don't have maven and can't use it, my other test components work fine, i have only problem with Layout. :( On 9/23/07, Erik Vullings [EMAIL PROTECTED] wrote: I would REALLY recommend that you first create a maven archetype and start learning from there: you have already asked a lot of questions today, and most of your problems seem to be related to the way you have setup your project. However, Tapestry expects certain things to be in certain places, and your layout below is wrong. Also, search the mailing list for intellij if you need to move stuff around. Good luck, Erik On 9/23/07, Mohammad Shamsi [EMAIL PROTECTED] wrote: Hi Erik, i use Intellij IDEA for development, my project structure is : ---/resources/WEB-INF/Start.html ---/resources/WEB-INF/test/components/Layout.html ---/src/test/pages/Start.java ---/src/test/components/Layout.java in web.xml : context-param param-nametapestry.app-package/param-name param-valuetest/param-value /context-param Layout.html and Start.html is same as document that available in tapestry 5 documents On 9/23/07, Erik Vullings [EMAIL PROTECTED] wrote: Hi Mohammad, It would help if you would show the actual (relevant) content of your class and html file, since if you would have followed the guide, it should have worked :-) Related to your other question: The xsd template hasn't got a final (full) version yet, AFAIK. Did you also have a look at the Wiki - and did you already create the maven archetype project to get started? See http://wiki.apache.org/tapestry/Tapestry5HowTos (top of the page) Cheers Erik On 9/23/07, Mohammad Shamsi [EMAIL PROTECTED] wrote: Hi All, i have created a simple page layout, as i read in this guide : http://tapestry.apache.org/tapestry5/tapestry-core/guide/templates.html but when i run my application, i got this exception : Sep 23, 2007 2:54:24 PM org.apache.tapestry.internal.services.PagePoolImplrelease SEVERE: Page Page[Start en] is dirty, and will be discarded (rather than returned to the page pool). Sep 23, 2007 2:54:24 PM org.apache.tapestry.internal.services.RenderQueueImpl run SEVERE: Render queue error in Text[ My Page Specific Content ]: This markup writer does not have a current element. The current element is established with the first call to element() and is maintained across subsequent calls. java.lang.IllegalStateException: This markup writer does not have a current element. The current element is established with the first call to element() and is maintained across subsequent calls. at org.apache.tapestry.internal.services.MarkupWriterImpl.ensureCurrentElement ( MarkupWriterImpl.java:125) at org.apache.tapestry.internal.services.MarkupWriterImpl.write( MarkupWriterImpl.java:76) at org.apache.tapestry.internal.structure.TextPageElement.render ( TextPageElement.java:34) at org.apache.tapestry.internal.services.RenderQueueImpl.run( RenderQueueImpl.java:57) at org.apache.tapestry.internal.services.PageMarkupRendererImpl.renderPageMarkup (PageMarkupRendererImpl.java:40) at $PageMarkupRenderer_115321c5e3a.renderPageMarkup($PageMarkupRenderer_115321c5e3a.java) at org.apache.tapestry.internal.services.PageResponseRendererImpl.renderPageResponse (PageResponseRendererImpl.java:71) at $PageResponseRenderer_115321c5e05.renderPageResponse($PageResponseRenderer_115321c5e05.java) at org.apache.tapestry.internal.services.PageRenderRequestHandlerImpl.handle( PageRenderRequestHandlerImpl.java:81) at $PageRenderRequestHandler_115321c5e24.handle($PageRenderRequestHandler_115321c5e24.java) at org.apache.tapestry.internal.services.RootPathDispatcher.dispatch ( RootPathDispatcher.java:59) at $Dispatcher_115321c5e27.dispatch($Dispatcher_115321c5e27.java) at $Dispatcher_115321c5e1a.dispatch($Dispatcher_115321c5e1a.java) at org.apache.tapestry.services.TapestryModule$12.service( TapestryModule.java:1066)
List as application state object?
I have a List with objects that I reuse on several pages. At this moment I read the List from the database on each page, resulting in several unnecessary select queries. Is it possible to put the List with objects in some kind of application state object, so I can reuse it over and over again on my pages? How do I need to do this? And how do I access this object in my pages? Thanks! JP
Re: Page Layout Error
sorry for bothering you erik but i build project with maven, and problem not solved yet :( there is no difference between project that i setup in Intellij IDEA and other that maven build :( On 9/23/07, Erik Vullings [EMAIL PROTECTED] wrote: Hi Mohammad, There is nothing to it. Just google for maven download, unpack it to a directory, and put the maven binary somewhere in your environment path. Afterwards, you can just call maven to create the archetype, and it will download all dependencies automatically. The layout component is like a regular component, and it resides in the component package (both layout.class and layout.html). Erik On 9/23/07, Mohammad Shamsi [EMAIL PROTECTED] wrote: Hi Erik, i don't have maven and can't use it, my other test components work fine, i have only problem with Layout. :( On 9/23/07, Erik Vullings [EMAIL PROTECTED] wrote: I would REALLY recommend that you first create a maven archetype and start learning from there: you have already asked a lot of questions today, and most of your problems seem to be related to the way you have setup your project. However, Tapestry expects certain things to be in certain places, and your layout below is wrong. Also, search the mailing list for intellij if you need to move stuff around. Good luck, Erik On 9/23/07, Mohammad Shamsi [EMAIL PROTECTED] wrote: Hi Erik, i use Intellij IDEA for development, my project structure is : ---/resources/WEB-INF/Start.html ---/resources/WEB-INF/test/components/Layout.html ---/src/test/pages/Start.java ---/src/test/components/Layout.java in web.xml : context-param param-nametapestry.app-package/param-name param-valuetest/param-value /context-param Layout.html and Start.html is same as document that available in tapestry 5 documents On 9/23/07, Erik Vullings [EMAIL PROTECTED] wrote: Hi Mohammad, It would help if you would show the actual (relevant) content of your class and html file, since if you would have followed the guide, it should have worked :-) Related to your other question: The xsd template hasn't got a final (full) version yet, AFAIK. Did you also have a look at the Wiki - and did you already create the maven archetype project to get started? See http://wiki.apache.org/tapestry/Tapestry5HowTos (top of the page) Cheers Erik On 9/23/07, Mohammad Shamsi [EMAIL PROTECTED] wrote: Hi All, i have created a simple page layout, as i read in this guide : http://tapestry.apache.org/tapestry5/tapestry-core/guide/templates.html but when i run my application, i got this exception : Sep 23, 2007 2:54:24 PM org.apache.tapestry.internal.services.PagePoolImplrelease SEVERE: Page Page[Start en] is dirty, and will be discarded (rather than returned to the page pool). Sep 23, 2007 2:54:24 PM org.apache.tapestry.internal.services.RenderQueueImpl run SEVERE: Render queue error in Text[ My Page Specific Content ]: This markup writer does not have a current element. The current element is established with the first call to element() and is maintained across subsequent calls. java.lang.IllegalStateException: This markup writer does not have a current element. The current element is established with the first call to element() and is maintained across subsequent calls. at org.apache.tapestry.internal.services.MarkupWriterImpl.ensureCurrentElement ( MarkupWriterImpl.java:125) at org.apache.tapestry.internal.services.MarkupWriterImpl.write( MarkupWriterImpl.java:76) at org.apache.tapestry.internal.structure.TextPageElement.render ( TextPageElement.java:34) at org.apache.tapestry.internal.services.RenderQueueImpl.run ( RenderQueueImpl.java:57) at org.apache.tapestry.internal.services.PageMarkupRendererImpl.renderPageMarkup (PageMarkupRendererImpl.java:40) at $PageMarkupRenderer_115321c5e3a.renderPageMarkup($PageMarkupRenderer_115321c5e3a.java) at org.apache.tapestry.internal.services.PageResponseRendererImpl.renderPageResponse (PageResponseRendererImpl.java:71) at $PageResponseRenderer_115321c5e05.renderPageResponse($PageResponseRenderer_115321c5e05.java) at org.apache.tapestry.internal.services.PageRenderRequestHandlerImpl.handle( PageRenderRequestHandlerImpl.java:81) at
Re: List as application state object?
ASOs are natively supported in T5, and if I'm not mistaken, store user-specific state. That is, state objects are tied to a specific client, typically in the session. If you need generally accessible data, I think what you want is a general service that all clients can access, as ASOs are per-client (someone please correct me if I'm wrong here). That said, read the docs on ASOs: http://tapestry.apache.org/tapestry5/tapestry-core/guide/appstate.html chris Josh Penza wrote: I have a List with objects that I reuse on several pages. At this moment I read the List from the database on each page, resulting in several unnecessary select queries. Is it possible to put the List with objects in some kind of application state object, so I can reuse it over and over again on my pages? How do I need to do this? And how do I access this object in my pages? Thanks! JP - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Abwesenheit/Out of office
Ich werde ab 23.09.2007 nicht im Büro sein. Ich kehre zurück am 26.09.2007. Bitte kontaktieren Sie in dringenden Fällen das Porsche Informatik Customer Care Center: http://www.porsche-informatik.at/sup_kontakt.htm oder per Web: http://support.porscheinformatik.at/ Grüße, Christian Köberl - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
creating components with Tapestry 5
Hi everyone, First off, I am new to Tapestry, although I've been doing WebObjects for about 8 years, so the I'm hoping the transition won't be too painful. I've chosen to work with Tapestry 5 since it seems like quite a signifiicant evolution from the previous version, but I'm having some difficulty finding resoureces. I've done the excellent Tapestry 5 tutorial, but I need much more input! Can anybody point me to some useful places. I am especially interested in words of wisdom regarding use of Tapestry and Cayenne together (which I am also learning). My current issue is trying to understand how to create a page wrapper component (or any sort of component, actually) in Tapestry 5 -- something like the old WOComponentContent, which I know and love. tia, Marc
Re: creating components with Tapestry 5
Hello Marc, me, I'm another one seeking for good old WebObjects features in the post Apple world ... unfortunately, my company is completely on JSF trip, which I absolutely dislike. But on to your question: t:body / is WOComponentContent. That was simple wasn't it? :-) Marcus. 2007/9/23, Marc A. Donis [EMAIL PROTECTED]: Hi everyone, First off, I am new to Tapestry, although I've been doing WebObjects for about 8 years, so the I'm hoping the transition won't be too painful. I've chosen to work with Tapestry 5 since it seems like quite a signifiicant evolution from the previous version, but I'm having some difficulty finding resoureces. I've done the excellent Tapestry 5 tutorial, but I need much more input! Can anybody point me to some useful places. I am especially interested in words of wisdom regarding use of Tapestry and Cayenne together (which I am also learning). My current issue is trying to understand how to create a page wrapper component (or any sort of component, actually) in Tapestry 5 -- something like the old WOComponentContent, which I know and love. tia, Marc - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Page Layout Error
Hi Dalahoo, I use the Intellij too, here is what I did: create a project with maven, you can find the steps from the tutorial, then: mvn idea:idea now open the project with Intellij. For the layout issue, I have followed the sample code posted by Josh Canfield, it works very well: http://www.nabble.com/T5%3ATiles--tf4310807.html#a12299099 dalahoo wrote: sorry for bothering you erik but i build project with maven, and problem not solved yet :( there is no difference between project that i setup in Intellij IDEA and other that maven build :( -- View this message in context: http://www.nabble.com/Page-Layout-Error-tf4504133.html#a12851952 Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: t5: @Inject hibernate Session into a service?
Hi Chris, If what you want is, accessing the hibernate session from your service, Davor has answer to my similar question before: declare Session as parameter in you service constructor you dont even need to call any inject annotation ... MyServiceImpl(Session session){ this.session=session; } in your module use: public static void bind(ServiceBinder binder) { binder.bind(MyService.class, MyServiceImpl.class); } It works very well. A.C. Chris Lewis-5 wrote: Hi all, So my question is, how should I go about getting access to my database from my service? I'd like to use the blinding simplicity of of IoC just giving it to me, but I;m not sure that's an option. Any ideas? thanks, chris - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- View this message in context: http://www.nabble.com/t5%3A-%40Inject-hibernate-Session-into-a-service--tf4501533.html#a12852161 Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: creating components with Tapestry 5
WOComponentContent is wonderful, and is actually quite easy to do in Tapestry. It's in one of the examples. You use a body component. http://tapestry.apache.org/tapestry5/tapestry-core/guide/templates.html go down to the Tapestry Elements section, and read the examples there. It should be immediately familiar. Christian. On 23-Sep-07, at 8:03 PM, Angelo Chen wrote: Hi Mad, Initially I like WebObjects, particularly the bundled tools, As a Cocoa/Objective - C developer using XCode, I like to use WO with the same set of tools, but finally settled with Tapestry 5 as what rumor says that Tapestry has some inheritage from WO:) Cayenne, is it the ORM tool? I'm using hibernate with Tapestry-Hibernate module, it works well, maybe you can give Hibernate a try. A.C. mad wrote: Hi everyone, First off, I am new to Tapestry, although I've been doing WebObjects for about 8 years, so the I'm hoping the transition won't be too painful. I've chosen to work with Tapestry 5 since it seems like quite a signifiicant evolution from the previous version, but I'm having some difficulty finding resoureces. I've done the excellent Tapestry 5 tutorial, but I need much more input! Can anybody point me to some useful places. I am especially interested in words of wisdom regarding use of Tapestry and Cayenne together (which I am also learning). My current issue is trying to understand how to create a page wrapper component (or any sort of component, actually) in Tapestry 5 -- something like the old WOComponentContent, which I know and love. tia, Marc -- View this message in context: http://www.nabble.com/creating-components-with-Tapestry-5-tf4505821.html#a12852058 Sent from the Tapestry - User mailing list archive at Nabble.com. - 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]
[T5] Environment for events
So. I love the Environment, and you can use it to easily manager request-singleton objects for the pages (through simple contributions). But it looks like the Environment object is only used for the Render cycle, and it's totally empty for the onActivate and onAction (event phases). I think that's sad, because I can't as easily squirt in objects, I would have to create per-thread holders for each type that I want to pass in.. etc. Does anyone else feel this way? Does anyone have any solutions? Here is an idea. We can have a Request Level Environment, as well as the Render Phase Level Environment that we have now, but the RenderPhase-Environment could inherit from the Request-Environment. It would be the same object, Environment, but could have a parent Environment. Then we should be able to setup an environment higher up in the request handling phase, and have one extend from the other. That way I can have environment contributions that are used during both the activate and render phases.. This might be a little esoteric and only for those actually hacking tapestry, but what do you think?? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
basic dev question
I'm just starting out in Tapestry (WO developer since 3.51) Does everyone automatically create a .properties file for their pages/ components and put their validation, messages, etc in there? Or is it more selective? The tutorial gave some great examples of using the properties file for validation, messages, etc, but then looking at some of the other examples it looks like the validation is usually put right into the html... (for example, here: http://tapestry.apache.org/tapestry5/ tapestry-core/guide/validation.html) R - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: basic dev question
Obviously it depends on whether you will ever need to do l10n. The validation examples don't do it to keep the code shorter. Otherwise of course it makes sense every string is localizable. Whether you do it globally or per page/component is up to you. Cheers, Nick. Robert A. Decker wrote: I'm just starting out in Tapestry (WO developer since 3.51) Does everyone automatically create a .properties file for their pages/components and put their validation, messages, etc in there? Or is it more selective? The tutorial gave some great examples of using the properties file for validation, messages, etc, but then looking at some of the other examples it looks like the validation is usually put right into the html... (for example, here: http://tapestry.apache.org/tapestry5/tapestry-core/guide/validation.html) R - 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]
Re: basic dev question
Because the model classes (non T5 components/pages/mixins) are not auto-reloaded when changed, validation put into business objects with attributes will require a restart of the server when altered. Many people put them into .properties files so that they can benefit from the rapid reloading of the components without a restart. regards, Christian On 23-Sep-07, at 9:47 PM, Robert A. Decker wrote: I'm just starting out in Tapestry (WO developer since 3.51) Does everyone automatically create a .properties file for their pages/ components and put their validation, messages, etc in there? Or is it more selective? The tutorial gave some great examples of using the properties file for validation, messages, etc, but then looking at some of the other examples it looks like the validation is usually put right into the html... (for example, here: http://tapestry.apache.org/tapestry5/tapestry-core/guide/validation.html) R - 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]