1、缺少JAR:解决的办法就是手动将jstl.jar和 standard.jar这两个jar包加入到web项目的WEB-INF/lib目录中或者是把jstl.jar、standard.jar复制到tomcat的lib中就可以了,JSTL API 和实现包,在Tomcat下面都有,位于 %TOMCAT_HOME%/webapps/examples/WEB-INF/lib 目录中
2、web.xml必须指定使用servlet 和JSP 的规范:
<web-app version="2.5" 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/j2eehttp://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd">
这里注意一下:tomcat版本是可以向下兼容servlet规范和jsp规范的,例如上面的,如果项目中没有用到tomcat6对应的servlet2.5规范和jsp2.1规范,可以还是用servlet2.4和jsp2.0规范(针对xml文件的配置)
此步的解决方法有多种:
第一:在web.xml文件中添加
<jsp-property-group>
<deferred-syntax-allowed-as-literal>
true
</deferred-syntax-allowed-as-literal>
</jsp-property-group>
第二:在jsp页面中添加<%@ page contentType="text/html; charset=UTF-8" deferredSyntaxAllowedAsLiteral="true"%>
以上两种方式我都试过了,没起作用,
我采用第三种:将#{。。。。}更改为\#{。。。。}
还有第四种方法:将页面中所用使用的#{}表达式换掉,
附属:java web开发中,如何查看JSP和Servlet版本
方法:打开tomcat/lib,找到jsp-api.jar和servlet-api.jar。解压这两个文件,找到META-INF下的MANIFEST.MF文件。用记事本或者EditPlus一类的软件打开。
JSP版本是:
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.2
Created-By: 1.6.0_29-b11 (Sun Microsystems Inc.)
X-Compile-Source-JDK: 1.6
X-Compile-Target-JDK: 1.6
Name: javax/servlet/jsp/
Specification-Title: Java API for JavaServer Pages
Specification-Version: 2.2
Specification-Vendor: Sun Microsystems, Inc.
Implementation-Title: javax.servlet.jsp
Implementation-Version: 2.2.FR
Implementation-Vendor: Apache Software Foundation
servlet版本是:
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.2
Created-By: 1.6.0_29-b11 (Sun Microsystems Inc.)
X-Compile-Source-JDK: 1.6
X-Compile-Target-JDK: 1.6
Name: javax/servlet/
Specification-Title: Java API for Servlets
Specification-Version: 3.0
Specification-Vendor: Sun Microsystems, Inc.
Implementation-Title: javax.servlet
Implementation-Version: 3.0.FR
Implementation-Vendor: Apache Software Foundation