Author: remm
Date: Tue Oct 31 13:47:45 2006
New Revision: 469669
URL: http://svn.apache.org/viewvc?view=rev&rev=469669
Log:
- Better impl of JSP id consumer: actually this was implemented for regular
custom tags, but not for simple tags.
Modified:
tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/Generator.java
tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/Node.java
Modified: tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/Generator.java
URL:
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/Generator.java?view=diff&rev=469669&r1=469668&r2=469669
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/Generator.java
(original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/Generator.java Tue Oct
31 13:47:45 2006
@@ -35,7 +35,6 @@
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;
@@ -2152,7 +2151,7 @@
out.print(" ");
out.print(tagHandlerVar);
out.print(" = ");
- if (isPoolingEnabled &&
!(JspIdConsumer.class.isAssignableFrom(tagHandlerClass))) {
+ if (isPoolingEnabled && !(n.implementsJspIdConsumer())) {
out.print("(");
out.print(tagHandlerClassName);
out.print(") ");
@@ -2306,7 +2305,7 @@
.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);
@@ -2434,6 +2433,14 @@
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) {
/*
@@ -2926,14 +2933,6 @@
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
Modified: tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/Node.java
URL:
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/Node.java?view=diff&rev=469669&r1=469668&r2=469669
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/Node.java (original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/Node.java Tue Oct 31
13:47:45 2006
@@ -1354,8 +1354,6 @@
*/
public static class CustomTag extends Node {
- private static int id = 0;
-
private String uri;
private String prefix;
@@ -1626,10 +1624,6 @@
return this.numCount;
}
- public String getId() {
- return "_" + (++id);
- }
-
public void setScriptingVars(Vector vec, int scope) {
switch (scope) {
case VariableInfo.AT_BEGIN:
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]