A little more info, seems the TagExtraInfo is causing some problems for me. Here's a snippet from the class:
+++++++++ public class ValueTEI extends TagExtraInfo { private boolean declared = false; public VariableInfo[] getVariableInfo(TagData tagData) { if (!declared) { declared = true; return new VariableInfo[] { new VariableInfo("value","java.lang.String",true,VariableInfo.AT_BEGIN) }; } else { return new VariableInfo[] { new VariableInfo("value","java.lang.String",false,VariableInfo.NESTED) }; } } } ++++++++++ Why is value being declared for Tomcat but differently for Resin? And below, replace "key1" with "value" in the snippet. Typo there. -Hakan -----Original Message----- From: Kilic, Hakan [mailto:[EMAIL PROTECTED] Sent: Monday, March 22, 2004 6:55 PM To: Tomcat Users List Subject: Tomcat vs Resin - Tag Libraries Hi all, I'm working on making sure an application I've written works on Tomcat, Resin and a few others, and I've come across a very interesting problem. The application is working with tag libraries, and runs on Apache/Tomcat 4.1.12, and Resin 2.1.6. My tag library is "IfSet". In the _jspService() that Tomcat generates I get the following code snippet: +++++ com.mycompany.tags.IfSet _jspx_th_dm_ifSet_0 = new com.mycompany.tags.IfSet(); _jspx_th_dm_ifSet_0.setPageContext(pageContext); _jspx_th_dm_ifSet_0.setParent(null); _jspx_th_dm_ifSet_0.setName("myname"); java.lang.String value = null; try { int _jspx_eval_dm_ifSet_0 = _jspx_th_dm_ifSet_0.doStartTag(); value = (java.lang.String) pageContext.findAttribute("key1"); if (_jspx_eval_dm_ifSet_0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) { try { if (_jspx_eval_dm_ifSet_0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) { out = pageContext.pushBody(); _jspx_th_dm_ifSet_0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out); _jspx_th_dm_ifSet_0.doInitBody(); ++++++++++++ But resin produces this code snippet: +++++++++++ com.caucho.jsp.QBodyContent _jsp_endTagHack0 = null; if (_jsp_tag0 == null) { _jsp_tag0 = new com.mycompany.tags.IfSet(); _jsp_tag0.setPageContext(pageContext); _jsp_tag0.setParent((javax.servlet.jsp.tagext.Tag) null); _jsp_tag0.setName("myname"); } int _jspEval1 = _jsp_tag0.doStartTag(); if (_jspEval1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) { if (_jspEval1 == javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_BUFFERED) { out = pageContext.pushBody(); _jsp_endTagHack0 = (com.caucho.jsp.QBodyContent) out; _jsp_tag0.setBodyContent(_jsp_endTagHack0); } value = (java.lang.String)pageContext.findAttribute("key1"); ++++++++ All I'm doing in my html is calling <%pageContext.findAttribute("key1")%>, and I'm getting an error that "value" isn't declared. For some reason Tomcat will declare is using "java.lang.String value = null;" while Resin will not. Also, Tomcat is initializing the tag library right away, with the statement com.mycompany.tags.IfSet _jspx_th_dm_ifSet_0 = new com.mycompany.tags.IfSet(); but Resin instead uses com.mycompany.tags.IfSet _jsp_tag0 = null; Is there some part of the spec Tomcat is implementing properly/differently? Is it how I'm using my tag library? Any help would be great, since this is in the servlet code generated, and it's a bit hard to work backwards to figure out what my Tomcat is doing and why. Thanks! -HK --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]