Hello,

I have a page that uses a BeanEditForm to allow the user to edit a bean.
I'm using the @Validate annotation on various fields in the bean to mark
them as required, or to assign a minimum length, etc.

My problem is that if the validation fails and the page redisplays, all
of the user's changes are lost.  I thought about using @Persist to
persist the bean (_orgnztn in the class below), but won't that cause
issues, since this is a Hibernate entity?  Won't that cause a reference
to the Session to be persisted also, so that the next time this page is
loaded, it may use the wrong Session?

My page class is something like this:

  public class EditOrganization {

      @Component
      private BeanEditForm _orgnztnEditForm;
    
      @Persist( "flash" )
      private Integer _orgnztnId;
    
      private Organization _orgnztn;

      public Object onActivate( Integer prmOrgnztnId )              {
          setOrgnztnId( prmOrgnztnId );
          return( null );
      }
    
      public Object onActivate()              {
          if( getOrgnztnId() != null )           {
              setOrgnztn( <snip>get from DAO</snip> );
          }
          return( unathrzdRdrct() );
      }
    
      public Object onPassivate()                       {
          return( getOrgnztnId() );
      }
    
      public Object onSuccess()               {
          Organization thisOrgnztn = getOrgnztn();

          <snip>Use Hibernate to update the
             Organization record in the DB</snip>
          return( <snip>a page class</snip> );
      }

      public Organization getOrgnztn() {
          return _orgnztn;
      }

      public void setOrgnztn(Organization prmOrgnztn ) {
          _orgnztn = prmOrgnztn;
      }

      public Integer getOrgnztnId() {
          return _orgnztnId;
      }

      public void setOrgnztnId( Integer prmOrgnztnId ) {
          _orgnztnId = prmOrgnztnId;
      }

  }    

And my template is similar to this:

  <t:layout
      xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd"; >

      <t:beaneditform object="orgnztn" t:id="orgnztnEditForm">
      </t:beaneditform>

  </t:layout>

Thanks,
Andy


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

Reply via email to