Bugs item #742633, was opened at 2003-05-24 09:12
Message generated for change (Comment added) made by gregwilkins
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=376685&aid=742633&group_id=22866
Category: JBossWeb
Group: v3.2
Status: Open
Resolution: None
Priority: 5
Submitted By: roberto (rroberto)
Assigned to: Nobody/Anonymous (nobody)
Summary: JBOSS 3.2.1 / Jetty and Tag Support
Initial Comment:
The servlet engine doesn't call the release method on
tags every time is used from jsp pages.
This because a pool is used .
this is the servlet code generated from a jsp
....
private org.apache.jasper.runtime.TagHandlerPool
_jspx_tagPool_ABSTag_CustomButton_xmlDocument_s
cope;
....
/* ---- ABSTag:CustomButton ---- */
com.dat.abs.web.tags.ABSCustomButtonTag
_jspx_th_ABSTag_CustomButton_0 =
(com.dat.abs.web.tags.ABSCustomButtonTag)
_jspx_tagPool_ABSTag_CustomButton_xmlDocument_s
cope.get
(com.dat.abs.web.tags.ABSCustomButtonTag.class);
_jspx_th_ABSTag_CustomButton_0.setPageContext
(pageContext);
_jspx_th_ABSTag_CustomButton_0.setParent
(_jspx_th_ABSTag_ButtonBody_0);
_jspx_th_ABSTag_CustomButton_0.setXmlDocument
(vXmlDocument);
_jspx_th_ABSTag_CustomButton_0.setScope(vScope);
int _jspx_eval_ABSTag_CustomButton_0 =
_jspx_th_ABSTag_CustomButton_0.doStartTag();
if (_jspx_th_ABSTag_CustomButton_0.doEndTag() ==
javax.servlet.jsp.tagext.Tag.SKIP_PAGE)
return;
_jspx_tagPool_ABSTag_CustomButton_xmlDocument_s
cope.reuse(_jspx_th_ABSTag_CustomButton_0)
....
the method "reuse" on TagHandlerPool is..
/**
* Adds the given tag handler to this tag handler pool,
unless this tag
* handler pool has already reached its capacity, in which
case the tag
* handler's release() method is called.
*
* @param handler Tag handler to add to this tag handler
pool
*/
public synchronized void reuse(Tag handler) {
if (current < (handlers.length - 1))
handlers[++current] = handler;
else
handler.release();
}
so only when handler pool has already reached its
capacity the tag's release() method is called.
>From the sun javadoc about interface
javax.servlet.jsp.tagext.Tag:
"Called on a Tag handler to release state. The page
compiler guarantees that JSP page implementation
objects will invoke this method on all tag handlers".
This cause that the global internal variable of the tag are
not "clear".
It's a jetty bug ? or i can't use internal variable (or i must
reset it)
There is no problem this optional tag attributes, because
a pool is created for each combination of tag/arguments
passed.
ty
Roberto
----------------------------------------------------------------------
Comment By: Greg Wilkins (gregwilkins)
Date: 2003-06-01 22:17
Message:
Logged In: YES
user_id=44062
I don't think this is not a jetty bug.
I think it is a jakarta-jasper2 "feature".
I think there are some JspServlet init parameters that you can
use to change this behaviour (you'd have to check the jasper
mailing archives). But I think you will find that the spec
will change in future to match jasper.
regards
----------------------------------------------------------------------
Comment By: Jan Bartel (janb)
Date: 2003-05-28 14:15
Message:
Logged In: YES
user_id=45251
Roberto,
AFAIK, all jsp stuff is handled by JASPER, not Jetty itself.
This issue may be better off raised on the Jakarta Tomcat lists.
Jan
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=376685&aid=742633&group_id=22866
-------------------------------------------------------
This SF.net email is sponsored by: eBay
Get office equipment for less on eBay!
http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development