就是在list.jsp中 用 jstl 做一段跌代(list)! 后出现这样的错误! 不知道为什么??
//我测试过 后台代码没有问题!! list 有值 org.apache.jasper.JasperException: /list.jsp(71,6) According to TLD or attribute directive in tag file, attribute test does not accept any expressionslist.jsp 部分代码: <c:choose>
<c:when test="${empty list2}">
<tr>
<td colspan="9">
没有你要的数据
</td>
</tr>
</c:when>
<c:otherwise>
<c:forEach items="${list}" var="u">
<tr>
<td>&nbsp;&nbsp;</td>
<td>${u.card_id}</td>
<td>${u.name}</td>
<td>${u.sex]}</td>
<td>${u.mobile]}</td>
<td>${u.phone}</td>
<td>${u.email}</td>
<td>${u.address}</td>
<td><a href="">修改</a></td>
</tr>
</c:forEach>
</c:otherwise>
</c:choose>

解决方案 »

  1.   

    taglib指令中的uri写错了。如果你用的是JSTL1.1,请改成:
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
      

  2.   

    [接1楼]
    如果你用的是JSTL1.0,请改成: 
    <%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
      

  3.   

    楼主 回复: 
       1 楼 我照你的改了是不抱错误 ! 但是
    <c:forEach items="${list}" var="u"> 
    <tr> 
    <td>&nbsp;&nbsp; </td> 
    <td>${u.card_id} </td> 
    <td>${u.name} </td> 
    <td>${u.sex]} </td> 
    <td>${u.mobile]} </td> 
    <td>${u.phone} </td> 
    <td>${u.email} </td> 
    <td>${u.address} </td> 
    <td> <a href="">修改 </a> </td> 
    </tr> 
    </c:forEach>
    中的内容怎么不显示啊 !但是我的 list 中是有两条记录的啊! 因该显示两条 <tr></tr>才对啊!
      

  4.   

    我想看下list是怎么来的。
    把保存数据的源代码贴一下,然后发则消息给我。
    半小时内在线,呵呵。
      

  5.   

    你确定是先执行了这个list方法,再回到那个页面的吗? 或者:
    是不是有其它东西的名称也叫list,你换个属性名试试: 
    request.setAttribute("mylist", list); 
    页面上也改成 
    ${mylist} 
    或者更精确一点: 
    ${requestScope.mylist} 如果还不成,那就太奇怪了,呵呵. 我有事得下线了,如果还有问题,请把问题回复在帖子中.呵呵.
      

  6.   

    本地变量u中是否有card_id、name等属性呢,还有就是你放在list中的map的key或者javabean的属性的大小写呀之类的和${u.card_id}中是不是一样的
      

  7.   

    楼主恢复:6楼 : 我按照你的改成 mylist 也不行啊!
    肯定是先执行了这个list方法,再回到那个页面的吗
    不然怎么会有输出呢!!-----listAll------
    ----connDB-----
    1 jie M 13073424986 8140996 [email protected] HengYang 
    2 sasa W 13073424985 8140991 [email protected] BeiJing 
    [cn.orc.jie.CardBean@10ab09f, cn.orc.jie.CardBean@d1c778]这是 我下面代码的输出:
    public ActionForward list(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response) throws Exception {
    CardForm cardForm = (CardForm) form;
    System.out.println("------list-----");
                    ArrayList myList = CardDAO.listAll();//写了一个DAO调用数据库中 t_card 表中的数据:
    Iterator it = myList.iterator();
    while(it.hasNext()) {
    CardBean ub = (CardBean)it.next();
    System.out.print(ub.getCard_id() + " ");
    System.out.print(ub.getName() + " ");
    System.out.print(ub.getSex() + " ");
    System.out.print(ub.getMobile() + " ");
    System.out.print(ub.getPhone() + " ");
    System.out.print(ub.getEmail() + " ");
    System.out.println(ub.getAddress() + " ");
    }
    System.out.println(myList);
    request.setAttribute("myList", myList);
    return mapping.findForward("success");
    }我项目的流程 是先index.jsp 
    <a href="userCord.do?command=list">名片管理系统</a><br>
    转到UserCordAction 的 list的方法, 在通过DCardDAO 的listAll()方法调用数据库中的 t_card 表中的数据: 把每一行保存在一个 CardBean 实例中, 在放到 一个 ArrayList myList 中 ,返回给ArrayList myList = CardDAO.listAll();在设置到request 中,
    在通过return mapping.findForward("success"); 转到 list.jsp 页面!! 想做显示 就出现我上面说的 问题了
      

  8.   

    楼主 回复:    问题终于解决了 原来 mylist 设置到 session 中 没问题了 但是我不知道为什么设置到request中 在list.jsp中取出来的是null! 辛苦大家!! 想想 为什么设置到session 中 myList就能找到 但是 设置到 request中 就找不到啊 ! 我可是直接就转到 list.jsp中的啊??
      

  9.   

    你看看你的list是不是为空了啊 !
      

  10.   


    我晕……难道是你的配置<forward>的时候加上了redirect=true?那就变成重定向了,request中的数据会丢失的……