I have the following in a base class for my Tapestry pages to extend:
protected String getText(String key, Object arg) {
if (arg == null) {
return getText(key);
}
if (arg instanceof String) {
return getMessages().format(key, new Object[] { arg });
} else if (arg instanceof Object[]) {
return getMessages().format(key, arg);
} else {
log.error("argument '" + arg + "' not String or Object[]");
return "";
}
}
Passing in a key, or a single String argument works fine:
getText("user.added", user.getFullName());
However, if I pass in an Object array, the substituted values get garbled:
getText("login.passwordHint.sent", new Object[] {username, user.getEmail()})
login.passwordHint.sent=The password hint for <strong>{0}</strong> has
been sent to <strong>{1}</strong>.
Results in:
The password hint for <strong>[Ljava.lang.Object;@1ce1387</strong> has
been sent to <strong>{1}</strong>.
Any ideas?
Thanks,
Matt
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]