首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

自定义的标签如何会出现如下的异常呢

2011-12-31 
自定义的标签怎么会出现如下的错误呢?java文件:packageesystem.eshopimportjavax.servlet.jsp.*importja

自定义的标签怎么会出现如下的错误呢?
java文件:
package   esystem.eshop;

import   javax.servlet.jsp.*;
import   javax.servlet.jsp.tagext.*;

public   class   helloWorld   extends   TagSupport{
       
        private   PageContext   pageContext;
        private   Tag   parent;
       
        public   int   doStartTag()   throws   javax.servlet.jsp.JspException{
                  return   SKIP_BODY;
        }
       
        public   int   doEndTag()   throws   javax.servlet.jsp.JspException{
                try{
                        pageContext.getOut().print( "Hello   World! ");
                       
                        }catch(java.io.IOException   e){
                                throw   new   JspException( "IO   Error: "+e.getMessage());
                        }
                        return   SKIP_PAGE;
          }
         
public   void   release(){}
}

描述文件:app.tld
<?xml   version= "1.0 "   encoding= "ISO-8859-1 "   ?>
<!DOCTYPE   taglib
    PUBLIC   "-//Sun   Microsystems,   Inc.//DTD   JSP   Tag   Library   1.1//EN "
    "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd ">

<taglib>

    <tlibversion> 1.0 </tlibversion>
    <jspversion> 1.1 </jspversion>
    <shortname> Application   Tag   Library </shortname>
    <uri> http://jakarta.apache.org/taglibs/struts-example-1.0 </uri>
    <info>
   
    </info>


  <tag>
        <name> helloWorld </name>
        <tagclass> esystem.eshop.helloWorld </tagclass>
        <bodycontent> empty </bodycontent>
        <info>
         
        </info>
    </tag>

</taglib>

web.xml文件:
    <taglib>
        <taglib-uri> /tags/helloWorld </taglib-uri>
        <taglib-location> /WEB-INF/app.tld </taglib-location>
    </taglib>

test.jsp文件:
<%@   page   isELIgnored= "false "   contentType= "text/html;charset=gb2312 "   language= "java "   %>
<%@   taglib   uri= "/WEB-INF/app.tld "   prefix= "a "   %>


<html:html>
<head>
<meta   http-equiv= "Content-Type "   content= "text/html;   charset=gb2312 ">
<title> 无标题文档 </title>
<html:base/>
</head>

<body>
<a:helloWorld/>
</body>
</html:html>

当运行test.jsp时出现如下的错误,看是什么问题:
org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


root   cause  

java.lang.NullPointerException
esystem.eshop.helloWorld.doEndTag(Unknown   Source)
org.apache.jsp.test_jsp._jspx_meth_a_helloWorld_0(org.apache.jsp.test_jsp:94)
org.apache.jsp.test_jsp._jspService(org.apache.jsp.test_jsp:68)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


请大家指教

[解决办法]
doEndTag()中返回EVAL_PAGE试试

热点排行
Bad Request.