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