FunctionInfo funcInfo = f.getFunctionInfo();
String key = f.getPrefix()+ ":" + f.getName();
ds.append(funcMethod + "(\"" + key + "\", " +
- funcInfo.getFunctionClass() + ".class, " +
- '\"' + f.getMethodName() + "\", " +
+ getCanonicalName(funcInfo.getFunctionClass()) +
+ ".class, " + '\"' + f.getMethodName() + "\", " +
"new Class[] {");
String params[] = f.getParameters();
for (int k = 0; k < params.length; k++) {
private String getMapName() {
return "_jspx_fnmap_" + currFunc++;
}
+
+ /**
+ * Convert a binary class name into a canonical one that can be used
+ * when generating Java source code.
+ *
+ * @param className Binary class name
+ * @return Canonical equivalent
+ */
+ private String getCanonicalName(String className) {
+ return className.replace('$', '.');
+ }
}
}
Improve logging of JSP exceptions by including JSP snippet (if enabled)
rather than just the root cause in the host log. (markt)
</add>
+ <fix>
+ <bug>49555</bug>: Correctly handled Tag Libraries where functions are
+ defined in static inner classes. (markt)
+ </fix>
</changelog>
</subsection>
<subsection name="Cluster">