public class test extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Entry sEntry = new Entry();
sEntry.setEntryID(1);
sEntry.setTitle("sss");

Entry sEntry1 = new Entry();
sEntry1.setEntryID(2);
sEntry1.setTitle("ddd");

List<Entry> entryList = new ArrayList<Entry>();
entryList.add(sEntry);

request.setAttribute("list",entryList);
request.getRequestDispatcher("index.jsp").forward(request, response);
}
}
Entry 对象就是一个结构而已..<c:forEach items="${list}" var="entry">
<tr align="center">
<td>${entry.entryID}</td>
<td>${entry.title}</td>
</tr>
</c:forEach>
在index.jsp上用c:foreach 没办法取到 保存在request里的list这个属性值....
想问下大家这种情况怎么解决

解决方案 »

  1.   

    jstl是肯定能用的...我还在index.jsp下写了个foreach的循环数字
      

  2.   

    你在list中添加一个一个对象,应该只能得到一条记录的
      

  3.   

    但是连一个对象的值都没输出啊..orz
      

  4.   


    package com.test;
    public class Entry {
    private int entryID;
    private String title;
    public int getEntryID() {
    return entryID;
    }
    public void setEntryID(int entryID) {
    this.entryID = entryID;
    }
    public String getTitle() {
    return title;
    }
    public void setTitle(String title) {
    this.title = title;
    }
    }Entry.java
    public class test extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    Entry sEntry = new Entry();
    sEntry.setEntryID(1);
    sEntry.setTitle("sss");

    Entry sEntry1 = new Entry();
    sEntry1.setEntryID(2);
    sEntry1.setTitle("ddd");

    List<Entry> entryList = new ArrayList<Entry>();
    entryList.add(sEntry);
    entryList.add(sEntry1);
    request.setAttribute("list",entryList);
    request.getRequestDispatcher("/index.jsp").forward(request, response);
    }
    }test.java
    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
    <c:forEach items="${list}" var="entry">
    <td>${entry.entryid}</td>
    <td>${entry.title}</td>
    </c:forEach>
      

  5.   

    <logic:iterate id="entry" name="list" scope="request">
            <tr align="center">
                    <td>${entry.entryID}</td>
                    <td>${entry.title}</td>
                </tr></logic:iterate>
    换成iterate试一下。
      

  6.   

    我这里没用struts...= =<%
    Entry entry = new Entry();
    entry.setEntryID(1);
    entry.setTitle("sd");
    List<Entry> s = new ArrayList<Entry>();
    s.add(entry);
    request.setAttribute("entry",s);
     %>
    <c:forEach items="${entry}" var="s">
    ${s.title}
    </c:forEach>直接在页面上存的一个request的就能取出来..orz....应该是servlet的request没传过来
      

  7.   

    看不出什么问题嘛,要不把${list}改成${requestScope.list}试试。  或者在forEach标签上一行加一句<c:set var="list" value="${requestScope.list}"></c:set> 试试 。