<s:text name="key"/> OGNL-evaluates "key" when it is not found in resource
bundle
---------------------------------------------------------------------------------
Key: WW-2732
URL: https://issues.apache.org/struts/browse/WW-2732
Project: Struts 2
Issue Type: Bug
Components: Plugin - Tags, Value Stack
Affects Versions: 2.1.2
Environment: Tested with 2.1.2, but the issue could have existed
earlier.
Reporter: Pierre Thibaudeau
Priority: Minor
<s:text name="key"/> outputs the resource message designated by "key".
If no such message exists (and the body of the tag is empty), it reverts to
outputting the name of the key itself, as an unevaluated string. At least,
that's the behaviour of the tag, as described in the documentation.
In fact, however, the name of the key is now being evaluated as an OGNL
expression, and if that turns out to be valid, that is what's printed.
This, in my view, is counter-intuitive and probably counter-productive.
Consider the case of a ModelDriven<Book> action exposing a Book-object to the
View.
Normally,
<s:text name="title"/>: ${title}
would have yielded:
title: The Great Gatsby
if the resource message "title" was missing from the resource bundle. That's
not too bad an outcome. However, with the key being OGNL-evaluated, we would
get the following output:
The Great Gatsby: The Great Gatsby
which I find a little puzzling...
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.