That's exactly what I do as well. 

Martijn

On Sun, 2008-08-03 at 10:49 -0400, Chris Lewis wrote:
> Angelo,
> 
> Following are the very trimmed down versions of my template and page
> class. It shows the delegate and blocks, and how the block to render is
> determined. I didn't want to use a traditional page return for a few
> reasons: 1) Displaying a simple result message doesn't really need a
> full page. 2) This process will probably end up being ajax, which will
> probably mean I'll need the blocks anyway (unless I use a different ajax
> method).
> 
> So anyway, here it is:
> 
> 
> Info.tml
> 
> <div xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd";
>     t:type="layouts/general">
> 
>     <t:delegate to="content" />
> 
>     <t:block id="infoRequest">
>         <div t:type="form" t:id="infoRequest">
>          <!-- ... form details ... -->
>         </form>
>     </t:block>
> 
>     <t:block id="messageSent">Thanks!</t:block>
> </div>
> 
> 
> Info.java
> 
> public class Info {
>    
>     @Persist("flash")
>     private Block content;
>    
>     @Inject
>     private Block messageSent;
>    
>     @Inject
>     private Block infoRequest;
> 
>     void onActivate() {
>         if(content == null)
>             content = infoRequest;
>     }
> 
>     void onSuccessFromInfoRequest() {
>        //Process form - update/save/create entity, send email, etc.
> 
>        //Set our content block to the messageSent block.
>         content = messageSent;
>     }
>    
>     public Block getContent() {
>         return content;
>     }
> 
> }
> 
> 
> chris
> 
> Angelo Chen wrote:
> > hi cris,
> >
> > sounds interesting, how about a sample code/template to let us understand
> > more? thanks.
> >
> > angelo
> >
> >
> > Chris Lewis-5 wrote:
> >   
> >> Hello all,
> >>
> >> I'm wondering how others handle a simple flow where a user fills out a
> >> form, form is processed, and then a message is shown as a result ("ok"
> >> or "failed"). I have a simple contact form and am handling this like so:
> >>
> >> In my template I have 2 blocks: 1 is the form and the other is the
> >> message (or a place holder). There is also a t:delegate that will render
> >> the page property "content", which is just another block that will be
> >> assigned the form or message block.
> >>
> >> Now because I have 2 different possible "bodies" (the blocks), I have to
> >> have some logic to make sure the correct one gets displayed. So my the
> >> page's content property is annotated as @Persist("flash"), and at the
> >> end of the form submission I set the content member to a message. It's
> >> persisted, so that works. To get the initial content (the form) to
> >> render, I check if the content property is null in onActivate, and if so
> >> assign the form block.
> >>
> >> It works nicely, and I was wondering how others were handling this
> >> common use case and if something stinks about my method.
> >>
> >> Thanks!
> >>
> >> chris
> >>
> >> -- 
> >> http://thegodcode.net
> >>
> >>
> >> ---------------------------------------------------------------------
> >> 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]

Reply via email to