Thanks for the quick responses.  The two responses I got were
basically the same so I tried it.  The problem is now I get:

binding:        ExpressionBinding[EditApp appInfo.name]
location:       context:/WEB-INF/EditApp.page, line 41, column 58
 
ognl.OgnlException
source is null for getProperty(null, "name")

So I am still a bit stuck on what I should do.

On 7/15/05, Danny Mandel <[EMAIL PROTECTED]> wrote:
> In your pageBeginRender method you can check to see if the form is
> rewinding.  If it is, you probably don't want to initialize things in
> there i.e.:
> 
> public void pageBeginRender(PageEvent event) {
>         if (!event.getRequestCycle().isRewinding()) {
>             // do your normal initialization stuff and create if null
>         }
> }
> 
> In the case where it is rewinding, then you'll want to move your object
> retrieval/restoration to a different place.  This can be done by binding
> your object's id to a hidden field that will fetch it or by use of a
> data squeezer.  This has been addressed many times on this list so it
> should be in the archives and I know that there is a wiki page on using
> a data squeezer to do this sort of thing:
> 
> http://wiki.apache.org/jakarta-tapestry/DataSqueezer
> 
> Hope that helps,
> Danny
> 
> Chris Chiappone wrote:
> 
> >I am a bit confused about how pageBeginRender works during a form
> >submission  Here is the code i have:
> >
> >       public void pageBeginRender(PageEvent event) {
> >               // initialize app
> >               retrieveApp(getAppVerId());
> >       }
> >
> >       private void retrieveApp(Long id){
> >               if(id != null){
> >                       System.out.println("Updating App: "+ id);
> >                       AppDAO dao = new AppDAO();
> >                       AppVer ver = null;
> >                       AppInfo info = null;
> >                       ver = dao.getAppVerId(id, false);
> >                       info = ver.getAppInfo();
> >                       setAppInfo(info);
> >                       setAppVer(ver);
> >               }
> >               if(getAppInfo() == null){
> >                       System.out.println("Creating a new application");
> >                       setAppInfo(new AppInfo());
> >                       setAppVer(new AppVer());
> >                       getAppVer().setRegdate(new Date());
> >               }
> >       }
> >
> >       /**
> >        * Action taken when this form has been submitted
> >        *
> >        * @param cycle
> >        */
> >       public void formSubmit(IRequestCycle cycle){
> >               System.out.println("Current VerId = "+ getAppVerId());
> >               // Check to see all validation was a success
> >               ValidationDelegate delegate =
> >(ValidationDelegate)getBeans().getBean("delegate");
> >
> >               if(!delegate.getHasErrors()){
> >                       // Insert the new version
> >                       AppDAO dao = new AppDAO();
> >                       AppInfo info = getAppInfo();
> >                       AppVer ver = getAppVer();
> >
> >....
> >
> >Basically I need to initialize the AppInfo and AppVer objects when the
> >page is rendered.  The page is an add/edit form.  If appVerId is not
> >null I lookup AppInfo and AppVer to populate my form for editing, if
> >null create new objects.   This seems to work fine.   THe problem I am
> >having is that when I submit the form It create a new AppVer and
> >AppInfo because appVerId appears to be null in pageBeginRender(Event)
> >but when it continues to formSubmit my print is showing the the
> >appVerId != null which is what I expect.  The problem is the objects
> >have been intialized as new so it ends up creating duplicates.  Hope I
> >made this clear.
> >
> >
> >
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 


-- 
~chris

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

Reply via email to