Is the jndi taglib ready for use? I've tried resolving a problem with the jndi taglib without result. I try to use it within the embedded tomcat engine in netbeans. I have a very simple jsp page with useContext. <%@ taglib uri="http://jakarta.apache.org/taglibs/jndi" prefix="jndi" %> <HTML> <HEAD><TITLE>List by URL example</TITLE></HEAD> <BODY> <jndi:useContext id='test' scope='page' url='ldap://192.168.75.163:389'/> </BODY> </HTML> The exception seems to come from the fact that the id is not picked up. It occurs in the generated code in the line that looks like if (_jspx_th_jndi_useContext_0.doEndTag() == Tag.SKIP_PAGE) return; I have included the exception and the generated code below. Any help is appreciated, as I'm starting to think that taglibs are not the way to go. Starting tomcat. Check logs/tomcat.log for error messages No webapps/ directory C:\java\netbeans\temp\tomcat\webapps 2001-03-01 01:20:12 - Ctx( ): Exception in: R( + /examples/listurl.jsp + null) - javax.servlet.ServletException at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:459) at examples._0002fexamples_0002flisturl_0002ejsplisturl_jsp_0._jspService(_0002fexamples_0002flisturl_0002ejsplisturl_jsp_0.java:123) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:177) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:318) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:391) at org.netbeans.modules.web.core.execution.JspServlet.service(JspServlet.java:75) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404) at org.apache.tomcat.core.Handler.service(Handler.java:286) at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372) at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:797) at org.apache.tomcat.core.ContextManager.service(ContextManager.java:743) at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:210) at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416) at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498) at java.lang.Thread.run(Thread.java:484) Root cause: java.lang.NullPointerException at java.util.Hashtable.put(Hashtable.java:380) at org.apache.jasper.runtime.PageContextImpl.setAttribute(PageContextImpl.java:258) at org.apache.taglibs.jndi.UseContextTag.doEndTag(UseContextTag.java:406) at examples._0002fexamples_0002flisturl_0002ejsplisturl_jsp_0._jspService(_0002fexamples_0002flisturl_0002ejsplisturl_jsp_0.java:95) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:177) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:318) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:391) at org.netbeans.modules.web.core.execution.JspServlet.service(JspServlet.java:75) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404) at org.apache.tomcat.core.Handler.service(Handler.java:286) at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372) at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:797) at org.apache.tomcat.core.ContextManager.service(ContextManager.java:743) at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:210) at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416) at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498) at java.lang.Thread.run(Thread.java:484) package examples; import javax.servlet.*; import javax.servlet.http.*; import javax.servlet.jsp.*; import javax.servlet.jsp.tagext.*; import java.io.PrintWriter; import java.io.IOException; import java.io.FileInputStream; import java.io.ObjectInputStream; import java.util.Vector; import org.apache.jasper.runtime.*; import java.beans.*; import org.apache.jasper.JasperException; public class _0002fexamples_0002flisturl_0002ejsplisturl_jsp_0 extends HttpJspBase { static { } public _0002fexamples_0002flisturl_0002ejsplisturl_jsp_0( ) { } private static boolean _jspx_inited = false; public final void _jspx_init() throws JasperException { } public void _jspService(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { JspFactory _jspxFactory = null; PageContext pageContext = null; HttpSession session = null; ServletContext application = null; ServletConfig config = null; JspWriter out = null; Object page = this; String _value = null; try { if (_jspx_inited == false) { _jspx_init(); _jspx_inited = true; } _jspxFactory = JspFactory.getDefaultFactory(); response.setContentType("text/html;charset=8859_1"); pageContext = _jspxFactory.getPageContext(this, request, response, "", true, 8192, true); application = pageContext.getServletContext(); config = pageContext.getServletConfig(); session = pageContext.getSession(); out = pageContext.getOut(); // HTML // begin [file="C:\\java\\webapps\\ldap\\examples\\listurl.jsp";from=(0,72);to=(7,0)] MappedCharData out.write("\r\n"); out.write("\r\n"); out.write("\r\n"); out.write("<HTML>\r\n"); out.write("<HEAD><TITLE>List by URL example</TITLE></HEAD>\r\n"); out.write("<BODY>\r\n"); out.write("\r\n"); out.write(""); // end // begin [file="C:\\java\\webapps\\ldap\\examples\\listurl.jsp";from=(7,0);to=(7,73)] TagBegin /* ---- jndi:useContext ---- */ org.apache.taglibs.jndi.UseContextTag _jspx_th_jndi_useContext_0 = new org.apache.taglibs.jndi.UseContextTag(); _jspx_th_jndi_useContext_0.setPageContext(pageContext); _jspx_th_jndi_useContext_0.setParent(null); _jspx_th_jndi_useContext_0.setUrl("ldap://192.168.75.163:389"); _jspx_th_jndi_useContext_0.setId("test"); _jspx_th_jndi_useContext_0.setScope("page"); try { int _jspx_eval_jndi_useContext_0 = _jspx_th_jndi_useContext_0.doStartTag(); if (_jspx_eval_jndi_useContext_0 == Tag.EVAL_BODY_INCLUDE) throw new JspTagException("Since tag handler class org.apache.taglibs.jndi.UseContextTag implements BodyTag, it can't return Tag.EVAL_BODY_INCLUDE"); if (_jspx_eval_jndi_useContext_0 != Tag.SKIP_BODY) { try { if (_jspx_eval_jndi_useContext_0 != Tag.EVAL_BODY_INCLUDE) { out = pageContext.pushBody(); _jspx_th_jndi_useContext_0.setBodyContent((BodyContent) out); } _jspx_th_jndi_useContext_0.doInitBody(); do { // end // begin [file="C:\\java\\webapps\\ldap\\examples\\listurl.jsp";from=(7,0);to=(7,73)] TagEnd } while (_jspx_th_jndi_useContext_0.doAfterBody() == BodyTag.EVAL_BODY_TAG); } finally { if (_jspx_eval_jndi_useContext_0 != Tag.EVAL_BODY_INCLUDE) out = pageContext.popBody(); } } if (_jspx_th_jndi_useContext_0.doEndTag() == Tag.SKIP_PAGE) return; } finally { _jspx_th_jndi_useContext_0.release(); } javax.naming.Context test = null; test = (javax.naming.Context) pageContext.findAttribute("test"); // end // HTML // begin [file="C:\\java\\webapps\\ldap\\examples\\listurl.jsp";from=(7,73);to=(9,0)] MappedCharData out.write("\r\n"); out.write("\r\n"); out.write(""); // end // begin [file="C:\\java\\webapps\\ldap\\examples\\listurl.jsp";from=(9,2);to=(11,0)] Scriptlet //System.out.println("context is: " + test.toString()); // end // HTML // begin [file="C:\\java\\webapps\\ldap\\examples\\listurl.jsp";from=(11,2);to=(15,0)] MappedCharData out.write("\r\n"); out.write("\r\n"); out.write("</BODY>\r\n"); out.write("</HTML>\r\n"); out.write(""); // end } catch (Exception ex) { if (out.getBufferSize() != 0) out.clearBuffer(); pageContext.handlePageException(ex); } finally { out.flush(); _jspxFactory.releasePageContext(pageContext); } } } -- - Torgeir
