You are viewing a plain text version of this content. The canonical link for it is here.
Posted to taglibs-dev@jakarta.apache.org by Torgeir Veimo <to...@vertech.no> on 2001/03/01 13:24:26 UTC

jndi taglib problem

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