在JSP页面中输入JSTL标签为何运行错误?

来源:百度知道 编辑:UC知道 时间:2024/06/07 02:17:23
我用的是MyEclipse 5.5.1
代码很简单,如下:
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@ taglib prefix="c" uri=http://java.sun.com/jstl/core"%>

<html>
<head>
<title>My JSP 'index.jsp' starting page</title>
</head>
<body>
<c:out value="helloworld"/>
</body>
</html>

运行后网页显示:
type Exception report

message

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

exception

org.apache.jasper.JasperException: /index.jsp(2,27) quote symbol expected
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapp

org.apache.jasper.JasperException: /index.jsp(2,27) quote symbol expected
=====================================
这里说你第2行,第27个字符缺少quotation mark,引号。
检查:
<%@ taglib prefix="c" uri=http://java.sun.com/jstl/core"%>
你的"uri"前面忘写引号了:)

<%@ taglib prefix="c" uri=http://java.sun.com/jstl/core"%>

上面的标签库的地址有问题,应该是:
<%@ taglib prefix="c" uri=http://java.sun.com/jsp/jstl/core"%>

Tomcat5.5没有实现JSP2.1规范,他只实现了JSP2.0规范。因此,你在Tomcat5.5中就无法使用JSP2.1中的JSTL1.2技术,只能使用稍微早一点的版本,也就是JSP2.0中的JSTL1.1。

另外,也是比较容易让人迷茫的地方,那就是Tomcat虽然号称支持JSP2.0规范,但是他默认情况下不支持JSTL1.1,你必须额外下载JSTL1.1的具体实现,并进行相应的配置,才能在程序中使用JSTL1.1技术。