我正在搜索另一个答案,因为我的代码即使通过它工作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;
}
}
答案 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方法。