[ 
http://www.stripesframework.org/jira/browse/STS-552?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Frederic Daoud updated STS-552:
-------------------------------

    Assignee:     (was: Frederic Daoud)

> Stripes's LocalizationTag Strategy is Inconsistent with JSTL Tag Strategy for 
> Locating and Resource Bundle
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: STS-552
>                 URL: http://www.stripesframework.org/jira/browse/STS-552
>             Project: Stripes
>          Issue Type: Bug
>            Reporter: Wendy Cameron
>
> The strategy for locating a resource bundle through the following class that 
> is used through out the Stripes tags, may be flawed from jsp point of view.
> net.sourceforge.stripes.localizationDefaultLocalizationBundleFactory
> This factory for stripes always gets the bundle using one of the following 
> two methods:
> ResourceBundle.getBundle(this.errorBundleName);
> ResourceBundle.getBundle(this.errorBundleName, locale);
> ResourceBundle.getBundle(this.fieldBundleName);
> ResourceBundle.getBundle(this.fieldBundleName, locale);
> However consider the following scenerio:
> {code}
> <fmt:bundle basename="com.orchestral.common.translation.client.Configuration">
>                       <stripes:select name="selectedToy">
>                               <stripes:options-collection 
> collection="${actionBean.list}" value="id" label="name" />
>                       </stripes:select>
> </fmt:bundle>
> {code}
> I want the resource bundle to be used to be the one currently in scope, tags 
> need to check for an tag ancestor that from fmt:bundle and use the bundle 
> from there.  
> If no ancestor fmt:bundle tag then the tag should use the bundle in the page 
> context which should already have been resolved based upon the locale.
> However stripes circumvents this to provide an error bundle and a fieldName 
> bundle. Which cannot be scoped, this is in contravention of the intention of 
> the fmt:bundle tag, and the pattern laid out in most jstl tags.  
> The stragey employed by most jstl tags is:
> {code:java}
> Tag t = findAncestorWithClass(this, BundleSupport.class);
> if (t != null) {
>       // use resource bundle from parent <bundle> tag
>       BundleSupport parent = (BundleSupport) t;
>       locCtxt = parent.getLocalizationContext();
>       prefix = parent.getPrefix();
> } else {
>       locCtxt = BundleSupport.getLocalizationContext(pageContext);
> }
> {code}
> This is an issue for us because we want different bundle behavior for 
> configuration text verses standard text.  We have the scenario where we get 
> back from the data base a label, that then needs to be translated, we allow 
> users to set up english phrases and provide french and spanish translations 
> for these, these translations are looked up using the label.  So essentially 
> we have some unique translation requirements, and we dont want to rewrite all 
> the stipes tags providing two sets and creating confusion.  However it is 
> increasing looking more and more likely that we will have to rewrite all 
> these tags to do something more sensible.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://www.stripesframework.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
Stripes-development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/stripes-development

Reply via email to