JSTL和EL一起使用的问题

     今天第一次使用JSTL就遇到了问题,发生异常:According to TLD or attribute directive in tag file, attribute value does not accept any expressions。
测试环境为:Tomcat5.5、JDK1.5.9
于是把例子和已经发布的系统进行对比,发现了如下差别:
系统中web.xml开始为
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
而我测试用的web.xml开始为
<web-app 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-app_2_4.xsd"
    version="2.4">
这是我从ROOT下的web.xml直接复制过来的。将信将疑中修改了我的web.xml,果然正常运行。
在网上搜寻了一番,终于找到了解决办法:
1、web.xml中为<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web

-app_2_3.dtd">时,jsp页面中使用<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>。
2、web.xml中为<web-app 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-app_2_4.xsd"
    version="2.4">时,jsp页面中使用<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>。

 

你可能感兴趣的:(jdk,tomcat,Web,jsp,测试,application)