我刚刚开始学习jsp ,最近看到了标准标志库这一节,问题还真的不少,在csdn上发布了一下我的疑问,居然只有一个人回复。晕。
现在再说这两个问题吧:
我的环境是 eclipse 3.1 + jdk1.5 + tomcat 5
1.xmlbuddy_
2.使用标准标志库后,总出现这样的问题jsp parsing error:the absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application. 相同的两个jsp文件有的时候却没有这种问题 老外的一些网站说,这是tomcat的servlet-api.jar有和。。。的有冲突(好像是这个文件),事实上我觉得不像。我给大家看我的两个例子吧:
<!doctype html public "-//w
<%@ page contenttype="text/html; charset=gb2312" language="java" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<jsp:usebean id = "cal" class="jstltest.calendarbean"/>
<html>
<head>
<title>测试网页</title>
</head>
<body>
the time is currently:<br><br>
<c:out value = "${cal.date}"/>
<c:set var ="hour" value = "${cal.hour}" scope = "request"/>
<c:choose>
<c:when test = "${hour >0 && hour <= 11}">
good morning!
</c:when>
<c:when test = "${hour >=12 && hour <= 17}">
good afternoon!
</c:when>
<c:otherwise>
good evening!
</c:otherwise>
</c:choose>
</body>
</html>
这个文件没有任何问题。但是看下一:
<!doctype html public "-//w
<%@ page contenttype="text/html; charset=gb2312" language="java"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<fmt:setlocale value = "en_us"/>
<jsp:usebean id = "cal" class="jstltest.calendarbean"/>
<html>
<head>
<title>测试网页</title>
</head>
<body>
the time is currently:<br><br>
<c:out value = "${cal.date}"/>
<c:set var ="hour" value = "${cal.hour}" scope = "request"/>
<c:if test = "${hour >0 && hour <= 11}">
good morning!
</c:if>
<c:if test = "${hour >=12 && hour <= 17}">
good afternoon!
</c:if>
<c:if test = "${hour >=18}">
good evening!
</c:if>
<c:out value = "${hour}"/>
</body>
</html>
这个页面就会出现上面的问题.jsp parsing error:the absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application.
3.关于标志库的xml部分。 页面代码如下:
<%@ page contenttype="text/html; charset=gb2312" language="java" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x" %>
<c:import var="rssfeed" url="/jstltest/book.xml"/>
<x:parse var="rss" xml="${rssfeed}"/>
<x:set select="$book/book/title" var="rss" scope="session" />
<b><x:out select="$rss"/></b><br>
出错:content is not allowed in prolog.
javax.servlet.servletexception: javax.servlet.jsp.jspexception: content is not allowed in prolog. org.apache.jasper.runtime.pagecontextimpl.dohandlepageexception(pagecontextimpl.java:844) org.apache.jasper.runtime.pagecontextimpl.handlepageexception(pagecontextimpl.java:781) org.apache.jsp.isjstlxml_jsp._jspservice(org.apache.jsp.isjstlxml_jsp:91) org.apache.jasper.runtime.httpjspbase.service(httpjspbase.java:97) javax.servlet.http.httpservlet.service(httpservlet.java:802) org.apache.jasper.servlet.jspservletwrapper.service(jspservletwrapper.java:322) 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
org.xml.sax.saxparseexception: content is not allowed in prolog. com.sun.org.apache.xerces.internal.parsers.domparser.parse(unknown source) com.sun.org.apache.xerces.internal.jaxp.documentbuilderimpl.parse(unknown source) org.apache.taglibs.standard.tag.common.xml.parsesupport.parseinputsource(parsesupport.java:227) org.apache.taglibs.standard.tag.common.xml.parsesupport.parseinputsourcewithfilter(parsesupport.java:193) org.apache.taglibs.standard.tag.common.xml.parsesupport.parsereaderwithfilter(parsesupport.java:199) org.apache.taglibs.standard.tag.common.xml.parsesupport.parsestringwithfilter(parsesupport.java:206) org.apache.taglibs.standard.tag.common.xml.parsesupport.doendtag(parsesupport.java:138) org.apache.jsp.isjstlxml_jsp._jspx_meth_x_parse_0(org.apache.jsp.isjstlxml_jsp:135) org.apache.jsp.isjstlxml_jsp._jspservice(org.apache.jsp.isjstlxml_jsp:74) org.apache.jasper.runtime.httpjspbase.service(httpjspbase.java:97) javax.servlet.http.httpservlet.service(httpservlet.java:802) org.apache.jasper.servlet.jspservletwrapper.service(jspservletwrapper.java:322) 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)
晕。
google上关于这个的也很少。
独学真的很郁闷。
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!


