Oh my gosh, Paul. You just nailed my problem I think. I'm doing this:
setResponsePage(MyPage.class); Instead of this: setResponsePage(new MyPage()); Thanks for the link. Clearly, I have more reading to do! Thanks all! Mike -----Original Message----- From: Paul Bors [mailto:[email protected]] Sent: Monday, February 18, 2013 10:08 AM To: [email protected] Subject: Re: Fundamental forms/models issue What are you really trying to accomplish here? I think you're on the right path only one thing I would mention, the page constructor is not called only once per application life cycle. Same page can be constructed multiple times if you have a link going to that page and you calll setResponsePage(new MyPage()). More on detachable models: https://cwiki.apache.org/WICKET/detachable-models.html ~ Thank you, Paul Bors On Mon, Feb 18, 2013 at 12:47 PM, Michael Chandler < [email protected]> wrote: > Good morning/afternoon everyone. > > I'm having a basic problem fully deciphering how to best manage my > forms, specifically related to Models that are attached to forms. > Since a Wicket WebPage has it's constructor invoked only one time in > the application lifecycle, I'm failing to fully understand how to > present a form that has a model bound to it without inadvertently > sharing that instance of the Model with every user of the application. > It seems like a fundamental issue that I'm failing to fully grasp and could > use some input. > > As an example, I have the following in my constructor: > > LoadableDetachableModel<Job> jobModel = new > LoadableDetachableModel<Job>() { > > private static final long serialVersionUID = 1L; > > @Override > protected Job load() { > Job job = (Job) EntityFactory.getInstance().getBean("job"); > > // if we're editing an existing job, load the object > if (jobId >= 1) { > job.load(jobId); > } > > return job; > } > > }; > > I later create a form and after adding it in my constructor, bind the > model to it as follows: > > jobForm.setModel(new CompoundPropertyModel<Job>(jobModel)); > > As you can imagine, every user session from this point on now has that > instance of a Job object bound to that form due to these declarations > being in the page constructor. I have come a long way on my own, but > I'm at a point where I clearly do not have a full grasp of how to best > approach this. I suspect I can potentially override an instance of a > Model's > getObject() method for more dynamic behavior, but I'm concerned about > writing code that becomes too verbose when perhaps there's a > better/tighter way to handle this. Can anyone advise me? > > Many thanks! > > Mike Chandler > > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
