* @param className Binary class name
* @return Canonical equivalent
*/
- private String getCanonicalName(String className) {
- return className.replace('$', '.');
+ private String getCanonicalName(String className) throws JasperException {
+ Class<?> clazz;
+ try {
+ clazz = Class.forName(className);
+ } catch (ClassNotFoundException e) {
+ throw new JasperException(e);
+ }
+ return clazz.getCanonicalName();
}
}
}
"/test/bug49555.jsp");
String result = res.toString();
- assertEcho(result, "00-" + TesterFunctions.Inner.RETVAL);
+ assertEcho(result, "00-" + TesterFunctions.Inner$Class.RETVAL);
}
public void testELMisc() throws Exception {
return input.trim();
}
- public static class Inner {
+ public static class Inner$Class {
public static final String RETVAL = "Return from bug49555";
public static String bug49555() {
</tag>
<function>
<name>bug49555</name>
- <function-class>org.apache.el.TesterFunctions$Inner</function-class>
+ <function-class>org.apache.el.TesterFunctions$Inner$Class</function-class>
<function-signature>java.lang.String bug49555()</function-signature>
</function>
</taglib>
\ No newline at end of file