Struts text tag displays incorrect default value when using the spring plugin
-----------------------------------------------------------------------------

                 Key: WW-3011
                 URL: https://issues.apache.org/struts/browse/WW-3011
             Project: Struts 2
          Issue Type: Bug
          Components: Plugin - Spring, Plugin - Tags
    Affects Versions: 2.1.6
         Environment: JBoss 4.2.3 with JDK 1.6 on Windows XP.  Struts 2.1.6.  
Spring 2.5.6.
            Reporter: Ken Hopkins
            Priority: Minor


I first noticed the improper behavior in my own application, but I was able to 
reproduce the behavior by slightly modifying the Struts2 + Spring2 + JPA + AJAX 
tutorial.

To reproduce the behavior:

1st update the Struts2 + Spring2 + JPA + AJAX tutorial to use Struts 2.1.6.  
These changes are minimal, and are mostly just upgrading to the dojo plugin 
from the ajax theme.

2nd, once the tutorial is working with 2.1.6, I added a single line to the 
index.jsp file.

I added the line just before the closing body tag, but you can add it anywhere.
<s:text name="does.not.appear.in.properties.file"><s:text 
name="also.does.not.appear.in.properties.file"/></s:text>

When I run the jsp page, the text that is displayed is:
does.not.appear.in.properties.file

Neither of the keys in the two text tags above are in any resource.  As I 
understand the documentation, and as I believe this worked in 2.0.14, the 
proper output should be:
also.does.not.appear.in.properties.file

As I understand the documentation, the first text tag should try to look up a 
value for the key "does.not.appear.in.properties.file".  The lookup will not 
find a value for that key, so the tag should display the default value that is 
provided in the body of the tag.  In this case, the body of the text tag is 
another text tag.  This inner text tag should try to look up a value for the 
key "also.does.not.appear.in.properties.file".  This lookup does not find a 
value either, but since there is no default value provided in the body of the 
inner text tag, the tag should display the key 
"also.does.not.appear.in.properties.file".  This value should then be used as 
the default value for the outer text tag.  However, instead of the outer text 
tag displaying this default value, it just displays its key 
"does.not.appear.in.properties.file".

It doesn't seem to matter if the inner tag's lookup returns a value or not (it 
doesn't seem that the inner tag's lookup is even attempted).  I haven't checked 
if providing a default value in the body of the outer text tag (but isn't 
itself a text tag, just some plain text) works properly, though that would 
probably be a helpful test.

Also, I don't see any indication of the new TextProvider logging in my log 
files as outlined on 
http://cwiki.apache.org/S2WIKI/troubleshooting-guide-migrating-from-struts-20x-to-21x.html
 in the "TextProvider missing keys" section.

Also, this doesn't seem to happen in the Blank tutorial.

When I first noticed this issue, it was in my own application, which uses 
freemarker templates instead of jsps.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to