foreach没有在jsp中显示列表数据

时间:2017-06-16 17:37:55

标签: java jsp servlets foreach

我正在搜索另一个答案,因为我的代码即使通过它工作c:forEach来显示jsp中的列表数据也不起作用

在servlet的一面,我工作的代码是

List <Alumno> ar = new ArrayList<>();
JSONObject re = new JSONObject(jsonObjSt);
JSONArray res = re.getJSONArray("alumno");
Alumno alu;
    for (int i = 0; i < res.length(); i++) {
        alu = new Alumno(
        res.getJSONObject(i).getString("nombre"),
        res.getJSONObject(i).getString("ap_pat"),
        res.getJSONObject(i).getString("ap_mat"),
        res.getJSONObject(i).getInt("carrera"),
        res.getJSONObject(i).getBoolean("genero")
        );
        ar.add(alu);
    }
request.setAttribute("alumno", ar);
request.getRequestDispatcher("/lista.jsp").forward(request, response);

我称之为列表的jsp代码是

<c:forEach items="${alumno}" var="dat">
<tr>
<td><c:out value="${dat.nombre}" /></td>
<td><c:out value="${dat.ap_pat}" /></td>
<td><c:out value="${dat.ap_mat}" /></td>
</tr>
</c:forEach>

然而,它不会显示任何数据

编辑:这是Alumno Structure

 public class Alumno{
    public String nombre;
    public String ap_pat;
    public String ap_mat;
    public int carrera;
    public boolean genero;

    public Alumno(String nombre, String ap_pat, String ap_mat, int carrera, boolean genero){
        this.nombre = nombre;
        this.ap_pat = ap_pat;
        this.ap_mat = ap_mat;
        this.carrera = carrera;
        this.genero = genero;
    }
}

2 个答案:

答案 0 :(得分:0)

相信框架正在寻找一个带有getter的bean ${dat.nombre} =&gt; getNombre()${dat.ap_pat} =&gt; getAp_pat()${dat.ap_mat} =&gt; getAp_mat()。尝试将getter添加到Alumno bean。

答案 1 :(得分:0)

首先在java类中检查您是否在alumno中获取数据。在Alumno中添加肯定会起作用的getter方法。