On 6/14/07, bansi <[EMAIL PROTECTED]> wrote:


Thanks Andrew. As very correctly suggested by you i already have the code
in
backing bean to clear the backing bean properties. But the problem is when
i
move back and forth (i.e. navigate) from Current page to Other pages and
come back to Current page, i want the backing bean associated with the
current page to be re-created i.e. new instance of backing bean.
Ofcourse i wanna clear the data on form fields




Andrew Robinson-5 wrote:
>
> I didn't mean to clear the form, but clear the backing bean properties.
>
> public class MyBean {
>   private MyObject myObject;
>
>   public String save() {
>     // EntityManager or hibernate session save here
>     // clear the properties:
>     clearState();
>   }
>
>   public void onCancel(ActionEvent evt) {
>     clearState();
>   }
>
>   private void clearState() {
>     myObject = null;
>   }
> }
>
> On 6/13/07, bansi <[EMAIL PROTECTED]> wrote:
>>
>> I figured out that i can do something like this ...
>> In session scope, only one instance of the backing bean will be used
>> during
>> the whole browser session. When you want to recreate the managed bean
>> inside
>> the backing bean during session, then do
>> FacesContext
>>    .getCurrentInstance()
>>       .getExternalContext()
>>          .getSessionMap()
>>             .put("myBean", new MyBean());
>>
>> BUT i am not sure where to put this snippet of code.
>>
>>
>>
>> bansi wrote:
>> >
>> > Andrew
>> > I totally agree with you on "its the desired behavior of a session
bean
>> --
>> > one instance for the
>> > user's session"
>> > But is their a way to recreate the instance of backing bean  in
>> following
>> > situations
>> > 1) Whenever a new record is inserted into database. The reason i
>> mention
>> > this is my backing bean instantiates the pojo and for subsequent save
>> into
>> > database the backing bean holds onto the old instance of pojo having
>> same
>> > identifier (ID) value. This is exactly the reason Hibernate throws
>> > Detached Object Exception passed to Persist
>> >
>> > 2) Whenever i  navigate between JSF pages , i wanna backing bean to
be
>> > re-initialized i.e. re-created with new instance
>> >
>> > Please note as suggested by you i am not looking to clear off the
>> fields
>> > on the form whereas i want to recreate the whole backing bean itself
>> >
>> > Any pointers/suggestions highly appreciated
>> >
>> > Regards
>> > Bansi
>> >
>> >
>> > Andrew Robinson-5 wrote:
>> >>
>> >> That is the desired behavior of a session bean -- one instance for
the
>> >> user's session. If you want to use session, and have it be able to
be
>> >> cleared, then you will want to create a clear action or action
>> >> listener method that clears all of the member variables when
executed.
>> >>
>> >> I would instead recommend using conversational scope from JBoss-Seam
>> >> or MyFaces or request scope and use saveState as needed to persist
>> >> values across pages.
>> >>
>> >> -Andrew
>> >>
>> >> On 6/13/07, bansi <[EMAIL PROTECTED]> wrote:
>> >>>
>> >>> We have backing bean defined in "session" scope
>> >>> So whenever we do a submit on JSF Form, it holds onto same backing
>> bean.
>> >>> This is not desirable as
>> >>> -> The Form will have  different set of values each time it does a
>> >>> submit
>> >>> -> The Backing bean has variable defined to instantiate a POJO
>> >>> i.e.private
>> >>> MyPojo pojo = new MyPojo();
>> >>> So every time JSF form submits to the backing bean, it holds onto
the
>> >>> same
>> >>> instance of POJO which eventually results in insertion problems
into
>> >>> database i.e. having same Identifier (ID) value
>> >>> -> The same problem occurs if i navigate to different page and come
>> back
>> >>> to
>> >>> original page
>> >>>
>> >>> Is their a way to re-initialize the Backing Bean ???
>> >>> --
>> >>> View this message in context:
>> >>>
>>
http://www.nabble.com/How-to-Re-Initialize-JSF-Backing-Bean-on-Form-Submit-tf3918359.html#a11110517
>> >>> Sent from the MyFaces - Users mailing list archive at Nabble.com.
>> >>>
>> >>>
>> >>
>> >>
>> >
>> >
>>
>> --
>> View this message in context:
>>
http://www.nabble.com/How-to-Re-Initialize-JSF-Backing-Bean-on-Form-Submit-tf3918359.html#a11111042
>> Sent from the MyFaces - Users mailing list archive at Nabble.com.
>>
>>
>
>

--
View this message in context:
http://www.nabble.com/How-to-Re-Initialize-JSF-Backing-Bean-on-Form-Submit-tf3918359.html#a11113434
Sent from the MyFaces - Users mailing list archive at Nabble.com.

Don't use session beans! Use request scoped beans

Reply via email to