JSP 自定义标签 报错 java.lang.NoClassDefFoundError: javax/el/ELResolver
test1/WEB-INF/classes/tag/hello.java:packagetag;importjavax.servlet.jsp.JspWriter;imp...
test1/WEB-INF/classes/tag/hello.java:
package tag;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;
public class hello extends TagSupport{
public int doStartTag(){
try{
JspWriter out = pageContext.getOut();
out.println("<font color=\"red\">hello!!!</font>");
}catch(Exception e){
e.printStackTrace();
}
return EVAL_BODY_INCLUDE;
}
public int doEndTag(){
try{
JspWriter out = pageContext.getOut();
out.println("标签结束了");
}catch(Exception e){
e.printStackTrace();
}
return EVAL_PAGE;
}
}
test1/WEB-INF/tag/myTag.tld
<?wml version="1.0" encoding="utf-8"?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0">
<tlib-version>
1.0
</tlib-version>
<short-name>
myTagLib
</short-name>
<uri>
/myTag
</uri>
<tag>
<name>helloTag</name>
<tag-class>tag.hello</tag-class>
<body-content>empty</body-content>
</tag>
</taglib>
test1/WEB-IFN/web.xml
<taglib>
<taglib-uri>/myTag</taglib-uri>
<taglib-location>/WEB-INF/tag/myTag.tld</taglib-location>
</taglib>
test1/jsp/hello.jsp
<%@ taglib uri="/myTag" prefix="myTag"%>
<%@ page contentType="text/html;charset=utf-8"%>
<html>
<body>
<myTag:helloTag/>
</body>
</html>
classpath:
.;F:\Program Files\Java\jdk1.6.0_03\lib;F:\Program Files\Java\jdk1.6.0_03\lib\to
ols.jar;F:\Program Files\Java\jdk1.6.0_03\lib\dt.jar;F:\Program Files\Java\jdk1.
6.0_03\lib\tools.jar;F:\tomcat6.0.20\lib\servlet-api.jar;F:\tomcat6.0.20\lib\jsp
-api.jar;F:\tomcat6.0.20\lib\el-api.jar
首页加<%@ page isELIgnored="false" %> 不行
这个只是一个自定的标签,没什么别的意思。问题主是我用的是解压版的tomcat,不知道为什么找不那下包。用安装版的主好了。不过,想是谢谢俩位了! 展开
package tag;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;
public class hello extends TagSupport{
public int doStartTag(){
try{
JspWriter out = pageContext.getOut();
out.println("<font color=\"red\">hello!!!</font>");
}catch(Exception e){
e.printStackTrace();
}
return EVAL_BODY_INCLUDE;
}
public int doEndTag(){
try{
JspWriter out = pageContext.getOut();
out.println("标签结束了");
}catch(Exception e){
e.printStackTrace();
}
return EVAL_PAGE;
}
}
test1/WEB-INF/tag/myTag.tld
<?wml version="1.0" encoding="utf-8"?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0">
<tlib-version>
1.0
</tlib-version>
<short-name>
myTagLib
</short-name>
<uri>
/myTag
</uri>
<tag>
<name>helloTag</name>
<tag-class>tag.hello</tag-class>
<body-content>empty</body-content>
</tag>
</taglib>
test1/WEB-IFN/web.xml
<taglib>
<taglib-uri>/myTag</taglib-uri>
<taglib-location>/WEB-INF/tag/myTag.tld</taglib-location>
</taglib>
test1/jsp/hello.jsp
<%@ taglib uri="/myTag" prefix="myTag"%>
<%@ page contentType="text/html;charset=utf-8"%>
<html>
<body>
<myTag:helloTag/>
</body>
</html>
classpath:
.;F:\Program Files\Java\jdk1.6.0_03\lib;F:\Program Files\Java\jdk1.6.0_03\lib\to
ols.jar;F:\Program Files\Java\jdk1.6.0_03\lib\dt.jar;F:\Program Files\Java\jdk1.
6.0_03\lib\tools.jar;F:\tomcat6.0.20\lib\servlet-api.jar;F:\tomcat6.0.20\lib\jsp
-api.jar;F:\tomcat6.0.20\lib\el-api.jar
首页加<%@ page isELIgnored="false" %> 不行
这个只是一个自定的标签,没什么别的意思。问题主是我用的是解压版的tomcat,不知道为什么找不那下包。用安装版的主好了。不过,想是谢谢俩位了! 展开
3个回答
展开全部
这个错明显是没有ELResolver这个类嘛,你看看自己如果有这个类,看看自己使用的是不是自动部署,还有MyEclipse的版本,一般5.5版本比较稳定,或是8.0以上稳定版本。我能说的就这些,往往有时候错的不是程序本身而是一些外部因素如MyEclipse的版本问题,还有Tomcat的版本,还有缺少jar包。 还有就是我没看明白你这代码什么意思,干什么用?就是为了用Java代码代替页面中的内容还是什么,能解释下吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看看我的参考资料吧~~你写的东西没问题,估计也是tomcat坏了
我没有用过你说的ELResolver这个类
我没有用过你说的ELResolver这个类
参考资料: http://zhidao.baidu.com/question/81410777.html?si=1
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首页加<%@ page isELIgnored="false" %>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询