我把一个List存到HttpSession中去了:session.setAttribute("products", list);
然后return mapping.findForward("list");跳到一个JSP页面:
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
${products}为什么不把list中的内容显示出来,而是直接显示“${products}”???

解决方案 »

  1.   

    首先要确认您的Container支持Servlet 2.4
    其次,session中的属性不能直接使用,而要${sessionScope.products}.因为products是一个Collection,还需要进行迭代才能取出里面真实的您需要的产品对象.
      

  2.   

    禁用jstl的三种可能:
    http://www.family168.com/tutorial/jsp/html/jsp-ch-13.html#jsp-ch-13-01
      

  3.   

    可能是你用工具建立web工程的时候 建的是版本比较低 不对el表达式支持  你可以改改web.xml里面的头部
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">你的要是非2.4 你改了试试 !这里的这个结合最好使用迭代 <c:forEach>或则<logic:iterate>标签 你这里应该已能显示list这个对象的!~ 
      

  4.   

    在page指令中有一个isELIgnored属性,其值为true则忽略EL表达式,为false则解析表达式。设置该属性试试看。
      

  5.   

    我的是2.5的,应该是支持的吧。
    <c:out value= "${product.name}"/>
    这个就能显示出来内容,
    直接${product.name}就不能显示,这是怎么回事?
      

  6.   

    EL表达式不能那样输出,用<c:forEach>标签+EL表达式输出就行了
    如:<c:forEach items="${sessionScope.products}" var="pro">
       ${pro}
    </c:forEach>