You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by bu...@apache.org on 2004/01/08 03:49:27 UTC
DO NOT REPLY [Bug 25971] New: -
Cannot retrieve all MessageResources messages
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=25971>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND
INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=25971
Cannot retrieve all MessageResources messages
Summary: Cannot retrieve all MessageResources messages
Product: Struts
Version: 1.1 Final
Platform: PC
OS/Version: Windows XP
Status: NEW
Severity: Enhancement
Priority: Other
Component: Unknown
AssignedTo: struts-dev@jakarta.apache.org
ReportedBy: Jay@Zylstra.us
CC: Jay@Zylstra.us
I'm developing an app that is localized into various European languages. I've
used Struts' support for multiple resource bundles by creating topical bundles,
such as one of country names keyed by their ISO-3166 codes, and so forth, as
well as a default bundle of general messages. I intend to use these topical
resource bundles to populate localized form drop-downs, but MessageResources
doesn't have any public methods nor fields to access all messages without first
knowing their keys.
To solve this, I suggest a pair of methods like...
public java.lang.String[] getMessages();
public java.lang.String[] getMessages(java.util.Locale locale);
...to access all of the messages in a bundle. Since I would also need to know
the messages' keys, I further suggest another method like...
public java.lang.String[] getKeys();
...which would also allow the use of parametric replacement when traversing a
bundle by passing each key into an existing getMessage() method.
The benefit of returning String arrays is that they are immutable, protecting
the underlying resource bundle from corruption. Alternately, an Iterator
implementation that ignores remove() could be returned, since remove() is
optional. Because PropertyMessageResouces (MessageResources' concrete
subclass) is backed by a Map, neither approach should be very difficult.
Finally, and this is probably beyond the scope of this suggestion, I need the
messages (not the keys) to be in alphabetical order, which would be quite
difficult using my suggested enhancement. So, I'll probably have to subclass
PropertyMessageResources after all, but I thought I'd suggest this as an
enhancement anyhow, since others would obviously benefit from the
functionality. Of course, I could manually sort the actual message bundle
contents, but that isn't nearly as elegant and is prone to error.
JayZ
---------------------------------------------------------------------
To unsubscribe, e-mail: struts-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: struts-dev-help@jakarta.apache.org