You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by jh...@apache.org on 2005/06/15 21:29:44 UTC

svn commit: r190794 - in /struts/taglib/trunk/src/java/org/apache/struts/taglib: LocalStrings.properties TagUtils.java

Author: jholmes
Date: Wed Jun 15 12:29:43 2005
New Revision: 190794

URL: http://svn.apache.org/viewcvs?rev=190794&view=rev
Log:
Update TagUtils to provide a more specific error message in the case
where properties on a formbean are not found. Basically this change
handles the scenario where the Constants.BEAN_KEY value was being displayed
as the bean name. Now, the actualy bean name will be displayed.

Modified:
    struts/taglib/trunk/src/java/org/apache/struts/taglib/LocalStrings.properties
    struts/taglib/trunk/src/java/org/apache/struts/taglib/TagUtils.java

Modified: struts/taglib/trunk/src/java/org/apache/struts/taglib/LocalStrings.properties
URL: http://svn.apache.org/viewcvs/struts/taglib/trunk/src/java/org/apache/struts/taglib/LocalStrings.properties?rev=190794&r1=190793&r2=190794&view=diff
==============================================================================
--- struts/taglib/trunk/src/java/org/apache/struts/taglib/LocalStrings.properties (original)
+++ struts/taglib/trunk/src/java/org/apache/struts/taglib/LocalStrings.properties Wed Jun 15 12:29:43 2005
@@ -6,7 +6,7 @@
 lookup.argument=Invalid argument looking up property {0} of bean {1}
 lookup.bean.any=Cannot find bean {0} in any scope
 lookup.bean=Cannot find bean {0} in scope {1}
-lookup.method=No getter method for property {0} of bean {1}
+lookup.method=No getter method for property: "{0}" of bean: "{1}"
 lookup.scope=Invalid bean scope {0}
 lookup.target=Exception thrown by getter for property {0} of bean {1}
 message.message=Missing message for key {0} in bundle {1} for locale {2}

Modified: struts/taglib/trunk/src/java/org/apache/struts/taglib/TagUtils.java
URL: http://svn.apache.org/viewcvs/struts/taglib/trunk/src/java/org/apache/struts/taglib/TagUtils.java?rev=190794&r1=190793&r2=190794&view=diff
==============================================================================
--- struts/taglib/trunk/src/java/org/apache/struts/taglib/TagUtils.java (original)
+++ struts/taglib/trunk/src/java/org/apache/struts/taglib/TagUtils.java Wed Jun 15 12:29:43 2005
@@ -976,8 +976,21 @@
 
         } catch (NoSuchMethodException e) {
             saveException(pageContext, e);
+            
+            String beanName = name;
+            
+            // Name defaults to Contants.BEAN_KEY if no name is specified by
+            // an input tag. Thus lookup the bean under the key and use
+            // its class name for the exception message.
+            if (Constants.BEAN_KEY.equals(name)) {
+            	Object bean = pageContext.findAttribute(Constants.BEAN_KEY)
+            	if (bean != null) {
+            		beanName = bean.getClass().getName();
+            	}
+            }
+            
             throw new JspException(
-                    messages.getMessage("lookup.method", property, name));
+                    messages.getMessage("lookup.method", property, beanName));
         }
 
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org