You're going about this the wrong way.  You shouldn't force a
re-instantiation.  The real problem here is that your components are
not shown as localized because apparently you are pushing the strings
into your components in the constructors.  Instead, you should use a
model that always pulls the strings based on current state.

i.e., instead of:

MyConstructor {
  add(new Label("foo", getString("some.key"));
}

You should be doing:

MyConstructor {
  add(new Label("foo", new ResourceModel("some.key"));
}

Incorrect use of models is the most common Wicket learning mistake.  I
suspect that's what this is.

--
Jeremy Thomerson
http://www.wickettraining.com




On Thu, Aug 27, 2009 at 4:47 AM, Bergmann
Manfred<[email protected]> wrote:
> Hi there.
>
> I've run into an issue and don't know how to solve it.
> My experience with Wicket is still low.
>
> I have a BasePage, subclass of WebPage. This page has some links, including
> links to change the language.
> This BasePage is not a page that is "rendered" directly. Only though
> subclasses.
> However the link events are handled on the BasePage. In the link handler the
> locale is changed in the session and the last rendered page should get
> re-rendered.
> It looks like that BasePage subclass is re-rendered because
> <wicket:message/> messages are localized. But some others components are
> not.
> In fact the constructor of the subclass is not called again and that's the
> reason for some components are still in the old language.
> How can I force to re-instantiate this subclass while not knowing which
> subclass it is in the link click-handler?
>
>
> Regards,
> Manfred
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to