out.print(JspUtil.toJavaSourceType(attrInfos[i].getTypeName()));
out.print(" ");
}
- out.print(attrInfos[i].getName());
+ out.print(JspUtil.makeJavaIdentifier(attrInfos[i].getName()));
out.println(";");
}
out.println();
// Define attribute getter and setter methods
for (int i = 0; i < attrInfos.length; i++) {
+ String javaName =
+ JspUtil.makeJavaIdentifier(attrInfos[i].getName());
+
// getter method
out.printin("public ");
if (attrInfos[i].isFragment()) {
out.println(" {");
out.pushIndent();
out.printin("return this.");
- out.print(attrInfos[i].getName());
+ out.print(javaName);
out.println(";");
out.popIndent();
out.printil("}");
out.print(JspUtil.toJavaSourceType(attrInfos[i].getTypeName()));
out.print(" ");
}
- out.print(attrInfos[i].getName());
+ out.print(javaName);
out.println(") {");
out.pushIndent();
out.printin("this.");
- out.print(attrInfos[i].getName());
+ out.print(javaName);
out.print(" = ");
- out.print(attrInfos[i].getName());
+ out.print(javaName);
out.println(";");
if (ctxt.isTagFile()) {
// Tag files should also set jspContext attributes
out.printin("jspContext.setAttribute(\"");
out.print(attrInfos[i].getName());
out.print("\", ");
- out.print(attrInfos[i].getName());
+ out.print(javaName);
out.println(");");
}
out.popIndent();
If you later downgrade from 7.0.17 or later to 7.0.16 or earlier, you
must empty the work directory as part of the downgrade process. (markt)
</fix>
+ <fix>
+ <bug>36362</bug>: Handle the case where tag file attributes (which can
+ use any valid XML name) have a name which is a Java identifier. (markt)
+ </fix>
</changelog>
</subsection>
<subsection name="Cluster">