Re: string-binding problem
Simon Robins <[email protected]> Wed, 15 Jan 2003 17:24:58 +0000
| Newsgroups | gmane.comp.java.tapestry.devel |
|---|---|
| Message-ID | <[email protected]> |
Maybe this problem should be in the FAQ.
You need to do something like this:
IEngineService pageService =
cycle.getEngine().getService(IEngine.PAGE_SERVICE);
Gesture gesture = pageService().buildGesture(cycle, null, new String[]
{ getPage().getName() } );
throw new RedirectException(gesture.getAbsoluteURL());
Regards,
Simon
On Wednesday, January 15, 2003, at 05:10 pm, Christian Sell wrote:
> could somebody confirm that the issue described below is a bug? Should
> I enter it into the bug tracker?
>
> As it turns out, the only way to get around this is to change the
> application design to be like the workbench demo, where after changing
> the locale the user is directed to another page. If instead you want
> to redisplay the same page, it will not show the new localization.
>
> regards
>
> Christian Sell wrote:
>> to answer my question regarding a workaround:
>> I tried this:
>> <binding name="value" expression='getString("message")'/>
>> this forced the binding to be evaluated every time - BUT:
>> The string table for the component is created lazily based on the
>> current locale and cached afterward. It is NOT recreated if the
>> locale changes, and therefore wrong if the same component is reused
>> in a subsequent request. See method
>> AbstractComponent.getString(String key).
>> it seems I cannot proceed without hacking tapestry - or redesigning
>> my app
>> Christian
>> Christian Sell wrote:
>>> Hello,
>>>
>>> On one of my pages, I am using an Insert component with a
>>> string-binding parameter. On the same page, I have a form with a
>>> Select component which allows setting the Locale. After setting the
>>> locale, the same page is redisplayed.
>>>
>>> Now it turns out that when the locale is set, the Insert element
>>> does not change its appearance according to the new locale. Only
>>> after visiting another page and returning to the previous one, the
>>> new localized string is shown.
>>>
>>> I went to the source code and discovered that string-bindings are
>>> only evaluated once when the component is first created - in method
>>> ParameterManager.setup(IRequestCycle cycle). It seems that when the
>>> same page is redisplayed after changing the locale, this does not
>>> happen.
>>>
>>> I consider this a bug. My suggestion is that
>>> StringBinding.isInvariant() should return false, and not true as is
>>> currently the case.
>>>
>>> objections? Or is there a workaround?
>>>
>>> Christian
>>>
>>>
>>>
>>> -------------------------------------------------------
>>> This SF.NET email is sponsored by: FREE SSL Guide from Thawte
>>> are you planning your Web Server Security? Click here to get a FREE
>>> Thawte SSL guide and find the answers to all your SSL security
>>> issues.
>>> http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0026en
>>> _______________________________________________
>>> Tapestry-developer mailing list
>>> [email protected]
>>> https://lists.sourceforge.net/lists/listinfo/tapestry-developer
>>>
>> -------------------------------------------------------
>> This SF.NET email is sponsored by: Take your first step towards
>> giving your online business a competitive advantage. Test-drive a
>> Thawte SSL certificate - our easy online guide will show you how.
>> Click here to get started:
>> http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0027en
>> _______________________________________________
>> Tapestry-developer mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/tapestry-developer
>
>
>
>
> -------------------------------------------------------
> This SF.NET email is sponsored by: Take your first step towards giving
> your online business a competitive advantage. Test-drive a Thawte SSL
> certificate - our easy online guide will show you how. Click here to
> get started: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0027en
> _______________________________________________
> Tapestry-developer mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/tapestry-developer
>
-------------------------------------------------------
This SF.NET email is sponsored by: A Thawte Code Signing Certificate
is essential in establishing user confidence by providing assurance of
authenticity and code integrity. Download our Free Code Signing guide:
http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0028en