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)