The tapestry-spring package I was already using and It was nice to find an
updated version which accounted for "singleton="false" type of spring beans
but the updated package still seems to have some quarky behavior which I
still needed to generate a work around for and I wrote that all down in a
new thead, for easier search for others with similar problems, titled
"tapestry-spring
0.1.2 InjectSpring "

Thanks for all the feedback,
Kevin


On 3/28/06, Jesse Kuhnert <[EMAIL PROTECTED]> wrote:
>
> I would reccomend using Howard's spring stuff
> http://howardlewisship.com/tapestry-javaforge/tapestry-spring/ .
>
> On 3/28/06, [EMAIL PROTECTED] <[EMAIL PROTECTED]>
> wrote:
> >
> > Kevin,
> >
> > I think this is a bug, I had the same problem.
> >
> > What is happening is that when the page is being enhanced (subclass
> > created)
> > the reference to the injected object (a spring object in your case) is
> > passed
> > through the constructor. Now since the page is pooled, the next time a
> > request
> > is made the requested is serviced with this cached page along with the
> > original
> > (stale) injected object.
> >
> > I had to modify InjectObjectWorker class so that the reference is not
> > passed
> > through the constructor but rather as a getter object that looks up
> > spring's
> > application context every time. Take a look at this class's inject
> object
> > method.
> >
> > Regards,
> > Amir
> >
> > --- Kevin Fightmaster <[EMAIL PROTECTED]> wrote:
> >
> > > Problem:
> > >     When I submit a form which persists a new object to the database
> and
> > I
> > > return back to the form to create a new object but the old object
> values
> > are
> > > still there. I'm using @InjectObject in my code and I'm not sure how
> to
> > tell
> > > the class to reset the value.
> > >
> > > Artifacts:
> > > [PAGE CLASS]
> > > public abstract class AddPerson extends PersonPersistenceAbstract {
> > > ...
> > > @InjectObject("spring:Person")
> > >     public abstract Person getPerson();
> > > ...
> > >     public void detach() {
> > >         if (log.isDebugEnabled())
> > >             log.debug("Page Detaching");
> > >         super.detach();
> > >     }
> > > }
> > >
> > > [PAGE SPECIFICATION]
> > > <!DOCTYPE page-specification PUBLIC
> > >   "-//Apache Software Foundation//Tapestry Specification 4.0//EN"
> > >   "http://jakarta.apache.org/tapestry/dtd/Tapestry_4_0.dtd";>
> > > <page-specification class="
> > > org.fightmaster.person.presentation.page.AddPerson">
> > >   <inject property="listPerson" type="page" object="ListPerson"/>
> > >   <component id="personForm" type="Form">
> > >     <binding name="listener" value="listener:onSubmit"/>
> > >   </component>
> > >   <component id="firstname" type="TextField">
> > >     <binding name="value" value="ognl:person.firstname"/>
> > >   </component>
> > >   <component id="middlename" type="TextField">
> > >     <binding name="value" value="ognl:person.middlename"/>
> > >   </component>
> > >   <component id="lastname" type="TextField">
> > >     <binding name="value" value="ognl:person.lastname"/>
> > >   </component>
> > > </page-specification>
> > >
> > > [SPRING BEAN XML]
> > > <?xml version="1.0" encoding="UTF-8"?>
> > > <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
> > >     "http://www.springframework.org/dtd/spring-beans.dtd";>
> > > <beans>
> > >   <bean id="Person.Hibernate.Annotation.SessionFactory" class="
> > >
> >
> org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean
> > ">
> > >     <property name="configurationClass" value="
> > > org.hibernate.cfg.AnnotationConfiguration"/>
> > >     <property name="configLocation" value="classpath:hibernate.cfg.xml
> > "/>
> > >   </bean>
> > >   ...
> > >   <bean id="Person" class="
> > > org.fightmaster.person.business.hibernate.PersonImpl"
> singleton="false">
> > >     ...
> > >   </bean>
> > >   ...
> > > </beans>
> > >
> > > Specs:
> > >     Tapestry 4
> > >     Hibernate 3
> > >     Spring 1.1
> > >     Java 1.5
> > >     Tomcat 5.5
> > >
> > >  Summary:
> > > The setup works as far as persistence goes. My objects are persisted
> to
> > the
> > > database. My issue has to do with session and why I can't get my
> Person
> > > object to reset for the next request. Thanks for any guidance.
> > >
> > >
> > > Kevin
> > >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>
>
> --
> Jesse Kuhnert
> Tacos/Tapestry, team member/developer
>
> Open source based consulting work centered around
> dojo/tapestry/tacos/hivemind.  http://opennotion.com
>
>

Reply via email to