wicket-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Chandler <Michael.Chand...@onassignment.com>
Subject RE: Fundamental forms/models issue
Date Mon, 18 Feb 2013 18:51:03 GMT
To conclude, my issues stemmed from not properly linking from page to page.  I did a lot of
this:

BookmarkablePageLink<String>("link", MyClass.class);

Instead of this:

Link<String>("link") {
	public void onClick() {
		setResponsePage(new MyClass());
	}
}

Oopsy!

I can see how the former might benefit me down the road, but not for general use.

Thanks again everyone.

Mike

-----Original Message-----
From: Michael Chandler [mailto:Michael.Chandler@onassignment.com] 
Sent: Monday, February 18, 2013 10:35 AM
To: users@wicket.apache.org
Subject: RE: Fundamental forms/models issue

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:paul@bors.ws]
Sent: Monday, February 18, 2013 10:08 AM
To: users@wicket.apache.org
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 < Michael.Chandler@onassignment.com>
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: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Mime
View raw message