初学JSTL,还没学EL,练习的时候遇到困难,大家给瞧瞧!
<%@ page language="java"  pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    
    <title>forEach</title>
    
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">    
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->  </head>
  
  <body>
    <%
     String names[] = new String[4];
     names[0]="小刚";
     names[1]="小红";
     names[2]="小力";
     names[3]="小王";
     pageContext.setAttribute("names",names);
     %>
     <c:forEach items="$(names)" var="name">
     $(name)<br>
     </c:forEach>
  </body>
</html>
我想输出那四个姓名,可是输出结果总是$(name)这个字符串,大家给看看毛病出在什么地方?

解决方案 »

  1.   


    改成{}了还是不行,还是输出${name}
      

  2.   

    <c:forEach items="$(names)" var="name"> 
        $(name) <br> 
        </c:forEach> 
    el标签用错了,不是括号(),而是{} 
      

  3.   

    对了,我在Myeclipse里新建工程的时候选择的是J2EE5.5,是不是就不用导入JSTL的两个jar包啦?和这个有没有关系呢?大家帮帮忙啊?!
      

  4.   

    <%@ page language="java"  pageEncoding="UTF-8" isELIgnored="false"%> 
      

  5.   


    <%@ page language="java"  pageEncoding="UTF-8"%>
    <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        
        <title>forEach</title>
        
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->  </head>
      
      <body>
        <%
         String names[] = new String[4];
         names[0]="小刚";
         names[1]="小红";
         names[2]="小力";
         names[3]="小王";
         pageContext.setAttribute("names",names);
         %>
         <c:forEach items="${names}" var="name" begin="1" end="2" step="1">
         ${name}<br>
         </c:forEach>
      </body>
    </html>
      

  6.   

    begin="1" end="2" step="1"把这段去掉试试看
      

  7.   

    http://topic.csdn.net/u/20091204/15/006387ef-c966-429e-9235-86c2e2bfdd08.html我以前回复的一个帖子,希望对你有帮助
      

  8.   

    LZ还要跳转一次回本页,直接在本页上是取不到值的,因为你没有提交到服务器,就没有pageContext.setAttribute("names",names); 所以你要提交到服务器上再跳回本页,
    还有jstl包含el标签
      

  9.   

    估计是你的jstl包未导入的原因 加上jstl包试试看啊
      

  10.   

    <%@ page language="java"  pageEncoding="UTF-8" isELIgnored="false"%> 
     
    加上isELIgnored = "false"  看看。
      

  11.   

    大家说的方法我都试过啦,可是怎么还是不行啊?这可怎么办呢?JSTL那两个jar包也放到bin里啦,真是无奈了!麻烦大家在给仔细分析一下到底是怎么回事好不?拜托啦!
      

  12.   

    jar包不是放在lib里面吗?
    放了jar包之后重新编译一次项目 
      

  13.   


    对,是放在lib里面了,一着急写错了!