import javax.el.MethodExpression;
import javax.el.ValueExpression;
-import javax.servlet.jsp.tagext.JspIdConsumer;
import javax.servlet.jsp.tagext.TagAttributeInfo;
import javax.servlet.jsp.tagext.TagInfo;
import javax.servlet.jsp.tagext.TagVariableInfo;
out.print(" ");
out.print(tagHandlerVar);
out.print(" = ");
- if (isPoolingEnabled && !(JspIdConsumer.class.isAssignableFrom(tagHandlerClass))) {
+ if (isPoolingEnabled && !(n.implementsJspIdConsumer())) {
out.print("(");
out.print(tagHandlerClassName);
out.print(") ");
.println(".doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {");
out.pushIndent();
if (!n.implementsTryCatchFinally()) {
- if (isPoolingEnabled && !(JspIdConsumer.class.isAssignableFrom(n.getTagHandlerClass()))) {
+ if (isPoolingEnabled && !(n.implementsJspIdConsumer())) {
out.printin(n.getTagHandlerPoolName());
out.print(".reuse(");
out.print(tagHandlerVar);
generateSetters(n, tagHandlerVar, handlerInfo, true);
+ // JspIdConsumer (after context has been set)
+ if (n.implementsJspIdConsumer()) {
+ out.printin(tagHandlerVar);
+ out.print(".setJspId(\"");
+ out.print(createJspId());
+ out.println("\");");
+ }
+
// Set the body
if (findJspBody(n) == null) {
/*
TagHandlerInfo handlerInfo, boolean simpleTag)
throws JasperException {
- // Set the id of the tag
- if (JspIdConsumer.class.isAssignableFrom(n.getTagHandlerClass())) {
- out.printin(tagHandlerVar);
- out.print(".setJspId(\"");
- out.print(n.getId());
- out.println("\");");
- }
-
// Set context
if (simpleTag) {
// Generate alias map