Author: markt Date: Mon Jun 14 21:23:23 2010 New Revision: 954650 URL: http://svn.apache.org/viewvc?rev=954650&view=rev Log: Fix problem with JSF convertors - restore behaviour prior to r894720 that only checks a subsets of types for validity
Modified: tomcat/trunk/java/org/apache/jasper/compiler/Validator.java Modified: tomcat/trunk/java/org/apache/jasper/compiler/Validator.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/Validator.java?rev=954650&r1=954649&r2=954650&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/jasper/compiler/Validator.java (original) +++ tomcat/trunk/java/org/apache/jasper/compiler/Validator.java Mon Jun 14 21:23:23 2010 @@ -1159,13 +1159,27 @@ class Validator { (n, "jsp.error.unknown_attribute_type", tldAttr.getName(), expectedType); } - // Check casting - try { - EXPRESSION_FACTORY.coerceToType(attrs.getValue(i), expectedClass); - } catch (Exception e) { - err.jspError - (n, "jsp.error.coerce_to_type", - tldAttr.getName(), expectedType, attrs.getValue(i)); + // Check casting - not possible for all types + if (String.class.equals(expectedClass) || + expectedClass == Long.TYPE || + expectedClass == Double.TYPE || + expectedClass == Byte.TYPE || + expectedClass == Short.TYPE || + expectedClass == Integer.TYPE || + expectedClass == Float.TYPE || + Number.class.isAssignableFrom(expectedClass) || + Character.class.equals(expectedClass) || + Character.TYPE == expectedClass || + Boolean.class.equals(expectedClass) || + Boolean.TYPE == expectedClass || + expectedClass.isEnum()) { + try { + EXPRESSION_FACTORY.coerceToType(attrs.getValue(i), expectedClass); + } catch (Exception e) { + err.jspError + (n, "jsp.error.coerce_to_type", + tldAttr.getName(), expectedType, attrs.getValue(i)); + } } } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org