要使用JSTL
除了要把jstl.jar和standard.jar 什么的拷到相关目录\lib下
还要做什么,我这样做了始终运行不成功
是不是还需要。tld文件
我从网上怎么没找到相关.tld文件

解决方案 »

  1.   

    你的jsp文件上要加上类似下面的语句<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
    <%@ taglib prefix="sql" uri="http://java.sun.com/jstl/sql" %>
      

  2.   

    我都加了,还是不行
    jstl.jar和standard.jar加到lib下
    文件内容:<%@ taglib uri="http://java.sun.com/jstl/core"  prefix="c" %>
    <html>
      <head>
        <title>Count to 10 Example (using JSTL)</title>
      </head>  <body>
        <c:forEach var="i" begin="1" end="10" step="1">
          <c:out value="${i}" />      <br />
        </c:forEach>
      </body>
    </html>
    但还是现实这样的错误信息HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: /c_out.jsp(9,6) According to TLD or attribute directive in tag file, attribute value does not accept any expressions
    org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:39)
    org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:405)
    org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:146)
    org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:955)
    org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:710)
    org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1441)
    org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
    org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2213)
    org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:730)
    org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1441)
    org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
    org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2213)
    org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2219)
    org.apache.jasper.compiler.Node$Root.accept(Node.java:456)
    org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
    org.apache.jasper.compiler.Validator.validate(Validator.java:1489)
    org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:157)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:267)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:255)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:556)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:293)
    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)
    note The full stack trace of the root cause is available in the Apache Tomcat/5.5.9 logs.
    --------------------------------------------------------------------------------Apache Tomcat/5.5.9
      

  3.   

    我也遇到了类似的问题,但我在页面实现时,没有提示出错,而且forEach循环也循环了10次,但问题是循环出来的内容不是1,到10.而是${i}这个符号,不知道什么原因,什么包都加了,
      

  4.   

    在你所在的目录里面有WEB-INF的,修改里面的web.xml即可
      

  5.   

    在里面加一段<taglib>
            <taglib-uri>http://java.sun.com/jstl/core</taglib-uri>
            <taglib-location>/WEB-INF/c.tld</taglib-location>
        </taglib>
      

  6.   

    真奇怪,我又在netbean里面运行了一下
    啥事都没有
    奇怪奇怪啊
      

  7.   

    ---->bram123456(qinga1b2) ( ) 信誉:100 
    对你的stl没有批定到该库
      

  8.   

    jstl真是土,c.tld需要解压出来(在standard.jar里)放在WEB-INF下,还得在web.xml里面指定,而sql.tld就不需要
    同样两个常用的标记库,待遇居然不一样,麻烦