|
Attached is a sample app to reproduce this behavior. From its README.txt:
This application was created to show how Struts2/XWork doesn't throw exceptions or log errors when a property doesn't exist. Furthermore, it doesn't notify the user when a method doesn't exist. http://raibledesigns.com/rd/entry/does_struts_2_suck http://jira.opensymphony.com/browse/XW-559 The User Details page in this application has an invalid field that doesn't throw an error. It uses "user.favoriteMovie" as a property and there's no report of an error. It also calls an invalid method in an <s:property> tag and nothing happens. To run, download Maven 2.0.7, install and run "mvn jetty:run" from the root directory of this application. Then go to: http://localhost:8080/editUser.html You can create IDEA project files using "mvn idea:idea". ** To change this project to use XWork 2.1-SNAPSHOT, simply modify pom.xml to uncomment the XWork-related dependencies. Any suggestions on the best way to fix this?
Thanks, Matt I just did an "svn up" and it appears that CompoundRootAccessor is no longer in Subversion. Is there a changelog (FishEye) I can read somewhere?
Look in the com.opensymphony.xwork2.ognl.accessor.CompoundRootAccessor. All the ognl-related classes have been refactored to be in their own package and front-ended by interfaces to allow ognl to be replaced by a plugin, if desired.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
"theme", "templateDir" and others are variables that I don't have specified in my page or SiteMesh decorator. Also, I don't think there should be an error thrown when the source value is null, as that's to be expected when you're adding a new record (for example). This patch does not log "source is null" messages IMO.
Also, there's no mention that one of my method calls failed:
<s:property value="methodDoesntExist('foo')"/>
Thanks,
Matt