页面的代码
 <%
   User user;
   List users = new ArrayList();
  for(int i =0;i<5;i++)
  {
  user = new User();
  user.setUsername("张三"+i);
  user.setPassword("密码"+i);
  user.setAge("年龄"+i);
  users.add(user);
  }
  session.setAttribute("u",users);
  %>
  <body>
  
   <c:forEach var ="b" items="${u}">
    ${b.age}
   </c:forEach>
  </body>哪位给说说,谢了!严重: Servlet.service() for servlet jsp threw exception
org.apache.jasper.JasperException: /index.jsp(41,5) According to TLD or attribute directive in tag file, attribute value does not accept any expressions
at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:148)
at org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:1174)
at org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:821)
at org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1530)
at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2411)
at org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:840)
at org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1530)
at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2411)
at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2417)
at org.apache.jasper.compiler.Node$Root.accept(Node.java:495)
at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
at org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1736)
at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:183)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:332)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:312)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:299)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Thread.java:619)

解决方案 »

  1.   

    ${b.age}改成: <c:out value="${b.age}"/>
      

  2.   

    <c:forEach var ="b" items="${u}">
    改为
    <c:forEach var ="b" items="u">
      

  3.   

    tag file, attribute value does not accept any expressions
    标签的属性不支持任何表达式
      

  4.   

    items="${u}"?应该是:items="u“<c:forEach var ="b" items="u">
    ${b.age}
    </c:forEach>
      

  5.   

    <c:forEach>
    为循环控制,它可以将集合(Collection)中的成员循序浏览一遍。运作方式为当条件符合时,就会持续重复执行<c:forEach> 的本体内容。
      语法
      语法1:迭代一集合对象之所有成员
      <c:forEach [var="varName"] items="collection" [varStatus="varStatusName"]
      [begin="begin"] [end="end"] [step="step"]>
    <
      /c:forEach>
      语法2:迭代指定的次数
      <c:forEach [var="varName"] [varStatus="varStatusName"] begin="begin" end="end" [step="step"]>
      </c:forEach>
    一个例子:Core_forEach.jsp
      <%@ page contentType="text/html;charset=GB2312 " %>
      <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
      <html>
      <head>
      <title>CH7 - Core_forEach.jsp</title>
      </head>
      <body>
      <h2><c:out value="<c:forEach> 的用法" /></h2>
      <%
      String atts[] = new String [5];
      atts[0]="hello";
      atts[1]="this";
      atts[2]="is";
      atts[3]="a";
      atts[4]="pen";
      request.setAttribute("atts", atts);
      %>
      <c:forEach items="${atts}" var="item" >
      ${item}</br>
      </c:forEach>
      </body>
      </html>