You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Brendan Le Ny (JIRA)" <ji...@apache.org> on 2014/11/25 12:12:12 UTC
[jira] [Created] (WW-4424) When a property doesn't exists, the log
warn message always misses information
Brendan Le Ny created WW-4424:
---------------------------------
Summary: When a property doesn't exists, the log warn message always misses information
Key: WW-4424
URL: https://issues.apache.org/jira/browse/WW-4424
Project: Struts 2
Issue Type: Bug
Components: Value Stack
Affects Versions: 2.3.16.3
Reporter: Brendan Le Ny
Priority: Trivial
As a developer, I write long JSPs and sometimes I make mistakes. For example, i can write the line underneath:
<s:if test="ghamRestitution.moraHalfFoodFree" >
if the the field "moraHalfFoodFree" doesn't exists on bean "ghamRestitution", XWork raise a warn such as:
2014/11/25 11:45:08 WARN (CommonsLogger.java:56) warn Could not find property [null]
The problem is that the message always say "Count not find property [null]" and it's very hard for the developer to know where the bug is in a long JSP.
The problem come from com.opensymphony.xwork2.ognl.OgnlValueStack#handleOgnlException
private Object handleOgnlException(String expr, boolean throwExceptionOnFailure, OgnlException e) {
Object ret = findInContext(expr);
if (ret == null) {
if (shouldLogMissingPropertyWarning(e)) {
LOG.warn("Could not find property [" + ((NoSuchPropertyException) e).getName() + "]");
}
if (throwExceptionOnFailure) {
throw new XWorkException(e);
}
}
return ret;
}
((NoSuchPropertyException) e).getName() always returns null, instead we should use expr parameter which give the right information.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)