`

导入jstl时的异常解决

阅读更多

导入核心标签库出现异常:"According to TLD or attribute directive in tag file, attribute items does not accept any expressions"

 

web.xml

Java代码 复制代码
  1. <?xml version="1.0" encoding="UTF-8"?>   
  2. <web-app version="2.4"  
  3.          xmlns="http://java.sun.com/xml/ns/j2ee"  
  4.          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  5.          xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" >  
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
         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" >

 

Java代码 复制代码
  1. <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>   
  2.   
  3. 1+2+3 = ${1+2+3} <br>   
  4. 1+2+3 = <c:out value="6" />  <br>  
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

1+2+3 = ${1+2+3} <br>
1+2+3 = <c:out value="6" />  <br>


此时执行没有任何问题。

1+2+3 = <c:out value="${1+2+3}" />执行时就会出现:
According to TLD or attribute directive in tag file, attribute value does not accept any expressions

昨天少了一个jsp,所以一直出现问题。

Java代码 复制代码
  1. <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>   
  2.   
  3. 写成   
  4. <%@taglib prefix="c" uri="http://java.sun.com/jstl/core" %>  
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

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




今天再试。发现JSTL1.1可以用。但是用JSTL1.0时,出现问题。
就是把JSTL1.1的库放到/WEB-INF/lib/ 下。
刚开始我是netbeans 5.5.1中的JSTL库拷贝出来发现可以用。后来用jstl1.1.2的库,也是可以用。

总结:
JSTL1.1的库 在JSP2.0(Servlet 2.4)及以后(推荐用JSTL1.1及以上)用:

Java代码 复制代码
  1. <%@taglib prefix="c" uri="http://java.sun.com/[color=red]jsp[/color]/jstl/core" %>  
<%@taglib prefix="c" uri="http://java.sun.com/[color=red]jsp[/color]/jstl/core" %>


web.xml

Java代码 复制代码
  1. <?xml version="1.0" encoding="UTF-8"?>   
  2. <web-app version="2.4"  
  3.          xmlns="http://java.sun.com/xml/ns/j2ee"  
  4.          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  5.          xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" >  
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
         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" >



在 Servlet2.3及以前,

Java代码 复制代码
  1. <%@taglib prefix="c" uri="http://java.sun.com/jstl/core" %>  
<%@taglib prefix="c" uri="http://java.sun.com/jstl/core" %>


比2.4以后版本少了jsp
web.xml

Java代码 复制代码
  1. <?xml version="1.0" encoding="UTF-8"?>   
  2. <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">   
  3. <web-app>   
  4.       
  5. </web-app>  
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
   
</web-app>



在Servlet2.3中最好用JSTL1.0,如果用JSTL1.1,请加上

Java代码 复制代码
  1. <?xml version="1.0" encoding="UTF-8"?>   
  2. <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">   
  3. <web-app>       
  4.     <taglib>   
  5.         <taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri>   
  6.         <taglib-location>/WEB-INF/c.tld</taglib-location>   
  7.     </taglib>   
  8. </web-app>  
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>    
    <taglib>
        <taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri>
        <taglib-location>/WEB-INF/c.tld</taglib-location>
    </taglib>
</web-app>


把tld目录下的c.tld拷贝到/WEB-INF?下。

总结:jstl.jar,standard.jar加到/WEB-INF/lib下,jsp页面上导入<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> ,就OK了.

找到官方下载地址:
http://jakarta.apache.org/site/downloads/downloads_taglibs.html
选择 Standard 1.0 Taglib 和Standard 1.1 Taglib 可以下载jstl1.0和jstl1.1版本。

分享到:
评论

相关推荐

    jstl使用xml出错

    - **缺失或错误的XML文档**:如果XML数据本身存在错误,如语法错误、未闭合的标签或者命名空间冲突,那么在尝试处理XML时会引发异常。 - **JSP配置错误**:确保在JSP页面的顶部正确地导入了JSTL库,例如: ```jsp ...

    JSTL语法及参数详解

    通过上述详述,我们可以看到JSTL提供了丰富的标签库来简化Web开发,从基本的数据输出到复杂的数据库操作,JSTL都能够提供相应的解决方案。熟练掌握JSTL的使用,对于提升Java Web应用的开发效率和代码质量具有重要...

    解决Handler processing failed; nested exception is java.lang.NoClassDefFoundError_kmode exception

    `NoClassDefFoundError` 是Java运行时异常的一种,与`ClassNotFoundException`不同,它意味着类在编译时存在,但在运行时却无法找到。这个问题可能由于多种原因引起,如依赖缺失、类路径设置不正确或者类加载器问题...

    plugins.zip

    1. **检查JSTL库**:确保项目中已导入jstl.jar和standard.jar这两个库,它们包含了JSTL所需的类和接口。 2. **更新MyEclipse**:确保你的MyEclipse版本是最新的,因为较旧的版本可能不完全支持JSTL标签。 3. **...

    myeclipse2017 jsp页面 在select里面写 导致后面代码不是彩色问题

    3. **导入JSTL库**:确保项目中已经包含了JSTL的库文件,如`jstl.jar`和`standard.jar`,因为MyEclipse可能依赖这些库来正确解析JSTL标签。 4. **使用其他编辑器或IDE**:如果尝试上述方法都无法解决问题,可以考虑...

    Jsp的经典例题大全

    - `page`指令:定义页面的编码、语言、导入的包等属性。 - `include`指令:在编译时包含其他文件。 - `taglib`指令:引入自定义标签库。 3. **JSP表达式**: - `&lt;%= %&gt;`:将Java表达式的值转换为字符串并输出到...

    java问题解决途径

    具体实现时,首先导入相应的Java安全包,然后使用MessageDigest类来生成哈希值。为了增强安全性,还可以结合盐值(Salt)进行哈希计算,防止彩虹表攻击。 #### 9. Java与Apache Shiro集成 - **知识点概述**:...

    jsp问题处理集,解决大多数jsp的常见问题

    新手可能在使用JSTL标签时遇到导入问题、标签使用错误或不理解标签功能。 5. **Servlet生命周期与JSP转换**: JSP页面会被编译成Servlet,因此理解Servlet的生命周期对于调试和性能优化至关重要。常见问题包括初始...

    EL表达式无效问题《ZT》

    本文将深入探讨EL表达式的基本概念、可能出现的问题及其解决方案,并结合提供的`jstl.jar`和`standard.jar`这两个关键库文件,来进一步理解它们在处理EL表达式中的作用。 EL表达式是JavaServer Pages(JSP)2.0引入...

    Struts各种问题解决方案

    如果找不到Action,检查是否导入了对应的Action类和对应的包名。 - **拦截器配置问题**:在使用自定义拦截器时,需确保它们已正确注册并加入到默认或自定义的拦截器栈中。同时,注意配置文件的解析顺序,避免因配置...

    jsp中常见到问题及解决办法

    3. **指令错误**:`&lt;%@ %&gt;`用于引入指令,如导入包或声明页面编码。错误的指令可能导致运行时错误。检查指令的语法和参数是否正确。 二、JSP与Servlet交互问题 1. **转发与重定向**:`request....

    javax.servlet.jsp.jar

    当你在开发或者运行一个基于JSP的项目时,如果遇到“找不到该jar包”的异常,可能是因为你的开发环境或应用服务器缺少了这个必要的依赖。 Java Servlet API提供了服务端的编程模型,允许开发者编写运行在Web服务器...

    jsp小技巧实例

    这些小技巧涵盖了JSP开发中的常见问题和解决方案,通过学习和实践这些技巧,你可以更有效地编写和维护JSP应用程序,提高开发效率,同时提升用户体验。在实际工作中,不断探索和总结,你会发现更多JSP的实用小技巧。...

    JSP课程java开发

    课程涵盖了Web开发的基本特点、常用技术对比、JSP的运行原理、Servlet的处理机制、MVC设计模式、Web.xml配置、Servlet生命周期、数据库组件的使用、乱码问题解决、Servlet单态模式、Session内置对象、JSTL标签的使用...

    课程设计-基于java web 的投票系统源码(含数据库脚本).zip

    调试运行时,开发者应关注日志输出,检查是否有编译错误或运行时异常,同时验证功能是否符合预期,比如用户能否成功登录、投票、查看结果等。此外,还要考虑安全性问题,如SQL注入防护、权限控制等。 总的来说,这...

    java.lang.AbstractMethodError: org.apache.xerces.dom.DocumentImpl.setXmlVersion问题解决方法

    在Java编程中,`java.lang.AbstractMethodError`是一个运行时异常,通常发生在尝试调用抽象方法而该方法在运行时的类中没有实现时。这个问题通常与类加载器有关,因为这表明在编译时和运行时的类路径中存在不一致。...

    IAVA 系统 JSP

    7. **异常处理**:理解如何在JSP中捕获和处理异常,以及在web.xml中配置全局异常处理器。 8. **数据库交互**:如果项目涉及数据库操作,你需要了解JDBC(Java Database Connectivity)以及如何在JSP中执行SQL查询。...

    Java技术体系图.pdf

    - **异常处理**:Java通过异常类来处理程序运行时的错误,异常分为检查性异常和非检查性异常,需学习如何捕获和处理。 3. **Java 核心API**: - **IO**:Java的输入/输出流系统,用于读写文件、网络通信等,包括...

    即用即查——JSP函数与对象参考手册

    每次请求时,Servlet的`service()`方法执行,处理完请求后,`destroy()`方法在Servlet不再需要时被调用。 ### JSP表达式与脚本元素 - **JSP表达式** (`&lt;%= %&gt;`): 直接将Java表达式的结果输出到页面上。 - **JSP...

    基于Java web的图书管理系统(源码+数据库脚本).rar

    在这一过程中,开发者可能会遇到一些常见问题,如SQL查询错误、空指针异常或权限问题,这些问题需要通过阅读日志、调试代码或者查阅文档来解决。 此外,系统的安全性也是不可忽视的方面。为了保护用户数据和系统...

Global site tag (gtag.js) - Google Analytics