Hey Michael, I didn't get to it last night, but here you go, a very simple example:
****** Start.tml **** <html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd"> <head> <title>Form Test</title> </head> <body> MyObject:<br/> Name: ${myObject.name}<br/> Number: ${myObject.number}<br/> <t:form t:id="myForm"> <t:errors/> <t:label t:for="name"/> <input t:type="textfield" t:id="name" t:value= "myObject.name"/><br/> <t:label t:for="number"/> <input t:type="textfield" t:id="number" t:value="myObject.number"/><br/> <input type="submit"/> </t:form> </body> </html> **** Start.java **** *package* joshcan.test.myapp.pages; ** *import* joshcan.test.myapp.model.TestObject; *import* org.apache.tapestry.annotations.Persist; /** * Start page of application myapp. */ *public* *class* Start { @Persist // Store this object in the session... * private* TestObject _myObject; * * * public* *void* setupRender() { * if* ( _myObject == *null* ) { // make sure we have an object to work on. _myObject = *new* TestObject(); } } * public* TestObject getMyObject() { * return* _myObject; } * public* *void* setMyObject(TestObject myObject) { _myObject = myObject; } } **** TestObject.java **** * package* joshcan.test.myapp.model; *public* *class* TestObject { * private* String name; * private* Long number; * public* String getName() { * return* name; } * public* *void* setName(String name) { * this*.name = name; } * public* Long getNumber() { *return* number; } * public* *void* setNumber(Long number) { * this*.number = number; } } Josh On Nov 15, 2007 1:35 AM, Michael Courcy <[EMAIL PROTECTED]> wrote: > > > > The title property of the video object is updated, I don't have a title > > property on my page class. > > > > I can't compile anything right now, but I'll try to put together a small > > example tonight, if someone else hasn't posted something by then. > > > > Josh > Josh It would be really really nice !!! > If you do so I would make it a small wiki tutorial > > > Josh Canfield a écrit : > > Hi Michael, > > > > > > > >> Thanks Josh, but do you have also a title property with getter and > >> setter in your page class ? > >> > >> > > > > No, I only have the video getter/setter > > > > > > > >> And if yes (as I guess) whish value is updated when you submit the form > >> : MyPage.title or MyPage.video.title ? > >> > > > > > > The title property of the video object is updated, I don't have a title > > property on my page class. > > > > I can't compile anything right now, but I'll try to put together a small > > example tonight, if someone else hasn't posted something by then. > > > > Josh > > > > On Nov 14, 2007 11:01 AM, Michael Courcy <[EMAIL PROTECTED]> > wrote: > > > > > >> Thanks Josh, but do you have also a title property with getter and > >> setter in your page class ? > >> > >> And if yes (as I guess) whish value is updated when you submit the form > >> : MyPage.title or MyPage.video.title ? > >> > >> Josh Canfield a écrit : > >> >> I want to populate from the form directly to the bean. But this > >> require > >> > >>>> to use either the beanEditForm or a custom component. > >>>> > >>>> > >>>> > >>> You can get this to work. I use the textfield component for editing my > >>> > >> bean > >> > >>> objects. This is from a working emplate: > >>> <input t:id="*title*" t:type="*textfield*" t:size="*40*" t:value="* > >>> video.title*" t:validate="*required*" type="*text*" /> > >>> > >>> My page class has a getVideo method which returns an object that has a > >>> getTitle method. > >>> > >>> Good luck, > >>> Josh > >>> > >>> On Nov 14, 2007 9:05 AM, Michael Courcy <[EMAIL PROTECTED]> > >>> > >> wrote: > >> > >>> > >>>> You're right > >>>> > >>>> here it is, I remove the "offending input" > >>>> > >>>> and use this instead > >>>> > >>>> ${user}-- ${user.name} > >>>> > >>>> And I get > >>>> > >>>> [EMAIL PROTECTED] -- A name > >>>> > >>>> Obviously user is not null. > >>>> > >>>> I think the problem does not come from tapestry but from me. > >>>> I want to populate from the form directly to the bean. But this > require > >>>> to use either the beanEditForm or a custom component. > >>>> > >>>> I 'm just influenced by other framework like struts2 for instance : > >>>> > >>>> If you have something like that in your form > >>>> > >>>> <input name="user.name" value="bla" /> > >>>> > >>>> When the form is submitted struts2 tries to find if the controller > >>>> features a user property, and then if user features a name property > >>>> If the answer is yes to both it calls controller.getUser > >>>> > >> ().setName("bla"); > >> > >>>> > >>>> > >>>> > >>>> Ezra Epstein a écrit : > >>>> > I always pause when hearing "100% sure." An easy check/test is to > >>>> remove the offending <input> and stick in a simple ${user} and see if > >>>> > >> indeed > >> > >>>> you get the toString() value for your user object. > >>>> > >>>> > >>>>> Michael Courcy <[EMAIL PROTECTED]> wrote: I'm 100% sure, user > >>>>> > >> is > >> > >>>> not null > >>>> > >>>> > >>>>> I have a getter and a setter for both : name and user > >>>>> > >>>>> Thanks > >>>>> Thiago H de Paula Figueiredo a écrit : > >>>>> > >>>>> > >>>>> > >>>>>> On Wed, 14 Nov 2007 12:47:06 -0200, Michael Courcy > >>>>>> wrote: > >>>>>> > >>>>>> > >>>>>> > >>>>>> > >>>>>>> [input] > >>>>>>> > >>>>>>> I have to provide the setter and the getter for name and I still > get > >>>>>>> an error when I submit. > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>> What error? Make sure your user field is not null when the form is > >>>>>> submited. Also make sure you have public getters and setters, > because > >>>>>> otherwise Tapestry cannot access them. > >>>>>> > >>>>>> > >>>>>> > >>>>>> > >>>>> > >>>> -- > >>>> Michael Courcy > >>>> http://courcy.blogspot.com > >>>> > >>>> > >>>> > >>>> > >>> > >>> > >> -- > >> Michael Courcy > >> http://courcy.blogspot.com > >> > >> > >> > > > > > > > > > -- > Michael Courcy > http://courcy.blogspot.com > > -- -- TheDailyTube.com. Sign up and get the best new videos on the internet delivered fresh to your inbox.