我的jsp页提示找不到tld文件,但是tld文件的路径没有问题。怎么回事??

Buddha_sy 2010-03-05 03:38:30
我的页面头是这样的

<%@ page language="java" import="java.util.*" pageEncoding="GBK" contentType="text/html; charset=GBK"%>
<%@ taglib uri="/WEB-INF/infodList2.tld" prefix="info" %>
<%@ taglib uri="/WEB-INF/productList.tld" prefix="pl" %>


下边是infodList2.tld的内容,该文件是放在/WEB-INF/下的

<?xml version="1.0" encoding="UTF-8"?>
<!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.2</tlibversion>
<jspversion>1.1</jspversion>
<shortname>bean</shortname>
<uri>http://struts.apache.org/tags-bean</uri>

<tag>
<name>rlist</name>
<tagclass>com.mgoil.taglibs.ReadInfo2</tagclass>
<bodycontent>empty</bodycontent>

<attribute>
<name>startpage</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>crow</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>


</tag>

</taglib>

但是访问到jsp页面的时候却提示:


type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: File "/WEB-INF/infodList2.tld" not found
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:51)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:116)
org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:160)
org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:424)
org.apache.jasper.compiler.Parser.parseDirective(Parser.java:493)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1557)
org.apache.jasper.compiler.Parser.parse(Parser.java:127)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:212)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:101)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:156)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:296)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:277)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:265)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:299)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


note The full stack trace of the root cause is available in the Apache Tomcat/5.5.23 logs.



诸位请帮帮忙,告诉我一下可能的原因可解决办法好吗?
我实在没招了。
...全文
931 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
APOLLO_TS 2010-03-05
  • 打赏
  • 举报
回复
<shortname>bean </shortname>

还用说第二遍么?

<?xml 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>看这里的命名如果是h</short-name>
<uri>http://www.eoc.cn/pa</uri>
web.xml
<jsp-config>
<taglib>
<taglib-uri>http://www.eoc.cn/pa</taglib-uri>---看清楚
<taglib-location>/WEB-INF/tld/那个文件.tld</taglib-location>
</taglib>
</jsp-config>

引用的时候:

<%@ taglib prefix="h" uri="http://www.eoc.cn/pa" %> 看清楚prefix

-------------------------------------------------------------------
以上是标准项目做法。

如果直接使用tld

<%@ taglib uri="/WEB-INF/tld/jmesa.tld" prefix="jmesa" %>

jmesa.tld 这个文件内短名 是jmesa
那使用的时候<jmesa:table>
Buddha_sy 2010-03-05
  • 打赏
  • 举报
回复
4、5、6楼的兄弟
我按照你们说的试了一下

现在web.xml的配置路径是这样的:

<welcome-file-list>
<welcome-file>index1.jsp</welcome-file>
</welcome-file-list>
<jsp-config>
<taglib>
<taglib-uri>/infodList2</taglib-uri>
<taglib-location>/WEB-INF/infodList2.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/productList</taglib-uri>
<taglib-location>/WEB-INF/productList.tld</taglib-location>
</taglib>
</jsp-config>
</web-app>

jsp页面头是:

<%@ page language="java" import="java.util.*" pageEncoding="GBK" contentType="text/html; charset=GBK"%>
<%@ taglib uri="/infodList2" prefix="info" %>
<%@ taglib uri="productList" prefix="pl" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>

可结果还是找不到啊
org.apache.jasper.JasperException: File "/infodList2" not found
神之泪花 2010-03-05
  • 打赏
  • 举报
回复
引用 3 楼 ychzxx 的回复:
你的web.xml文件里有
<taglib>
    <taglib-uri>/WEB-INF/infodList2.tld </taglib-uri>
    <taglib-location>/WEB-INF/infodList2.tld </taglib-location>
  </taglib>
这样的描述么?


对头,web.xml里是需要配置路径的~~
bayougeng 2010-03-05
  • 打赏
  • 举报
回复
<%@ taglib uri="/WEB-INF/infodList2.tld" prefix="info" %>

这里的uri并不是指实际在服务器上的路径,你应该到web.xml中配置这个uri。
<%@ taglib uri="/infodList2" prefix="info" %>
<taglib>
<taglib-uri>/infodList2</taglib-uri>
<taglib-location>/WEB-INF/infodList2.tld</taglib-location>
</taglib>
APOLLO_TS 2010-03-05
  • 打赏
  • 举报
回复
这个写的根本不对呀!

<shortname>bean </shortname>--->这个就就前缀,跟你的根本不对应!!

<uri>http://struts.apache.org/tags-bean </uri>

你最少使用

<jsp-config>
<taglib>
<taglib-uri>uri写上</taglib-uri>
<taglib-location>/WEB-INF/tld/hrpa.tld</taglib-location>
</taglib>
</jsp-config>

然后正常引用。
ychzxx 2010-03-05
  • 打赏
  • 举报
回复
你的web.xml文件里有
<taglib>
<taglib-uri>/WEB-INF/infodList2.tld</taglib-uri>
<taglib-location>/WEB-INF/infodList2.tld</taglib-location>
</taglib>
这样的描述么?
Buddha_sy 2010-03-05
  • 打赏
  • 举报
回复
C:\apache-tomcat-5.5.23\webapps\
已经确认是在这个路径下了

如果没有在tomcat下
首页都不会有的
awusoft 2010-03-05
  • 打赏
  • 举报
回复
确认一下是否发布到了Tomcat下边

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧