Author: bayard Date: Mon May 25 09:06:26 2009 New Revision: 778359 URL: http://svn.apache.org/viewvc?rev=778359&view=rev Log: Fixing bugzilla entry 45433. SizeTag doesn't accept arrays
Modified: jakarta/taglibs/sandbox/unstandard/trunk/src/main/java/org/apache/taglibs/unstandard/SizeTag.java Modified: jakarta/taglibs/sandbox/unstandard/trunk/src/main/java/org/apache/taglibs/unstandard/SizeTag.java URL: http://svn.apache.org/viewvc/jakarta/taglibs/sandbox/unstandard/trunk/src/main/java/org/apache/taglibs/unstandard/SizeTag.java?rev=778359&r1=778358&r2=778359&view=diff ============================================================================== --- jakarta/taglibs/sandbox/unstandard/trunk/src/main/java/org/apache/taglibs/unstandard/SizeTag.java (original) +++ jakarta/taglibs/sandbox/unstandard/trunk/src/main/java/org/apache/taglibs/unstandard/SizeTag.java Mon May 25 09:06:26 2009 @@ -75,8 +75,15 @@ if(target instanceof String) { result = ( (String)target ).length(); } else - if(target instanceof Collection) { - result = ( (Object[])target ).length; + if(target.getClass().isArray()) { + try { + Field lengthField = target.getClass().getField("length"); + result = lengthField.getInt(target); + } catch(NoSuchFieldException nsfe) { + throw new JspException("Array found without a length field", nsfe); + } catch(IllegalAccessException iae) { + throw new JspException("Array found with a non-accessible length field", iae); + } } } if(var == null && result != -1) { --------------------------------------------------------------------- To unsubscribe, e-mail: taglibs-dev-unsubscr...@jakarta.apache.org For additional commands, e-mail: taglibs-dev-h...@jakarta.apache.org