java如何迭代jstl中具有映射作为字段的对象列表?
我有一个类Spravochnik,它有一个字段HashMap。如何使用jstl对其进行迭代?我想要一个jsp页面来显示我的表。Spravochnik贴图将列名映射到给定表的列对象(列计数可能因表而异)。这是我在控制器中的方法
@RequestMapping(value = "/list")
public String getSpravochniks(Model m, @RequestParam String tableName)
{
List<Spravochnik> spravList =
spravochnikService.findAll(tableName);
m.addAttribute("spravList", spravList);
return "list";
}
当我有下面这样的jsp时,它会显示错误属性限定名在元素中必须是唯一的(id是Spravochnik继承的超类字段)
<c:forEach var="sprav" items="${spravList}">
<tr>
<td>
${sprav.id}
</td>
<td>
${sprav.map}
</td>
</tr>
</c:forEach>
斯普拉沃奇尼克。阶级
public class Spravochnik extends BaseEntity {
private HashMap<String, Object> map;
public HashMap<String, Object> getMap() {
return map;
}
public void setMap(HashMap<String, Object> map) {
this.map = map;
}
}
也可能是SpravochnikRowMapper
public class SpravochnikRowMapper implements RowMapper<Spravochnik> {
@Override
public Spravochnik mapRow(ResultSet rs, int arg1) throws SQLException {
Spravochnik spr = new Spravochnik();
ResultSetMetaData rsmeta = rs.getMetaData();
HashMap<String, Object> map = new HashMap<>();
int columnCount = rsmeta.getColumnCount();
for(int column = 1; column <= columnCount; column++){
map.put(rsmeta.getColumnName(column),rs.getObject(column));
}
return spr;
}
}
# 1 楼答案
我认为您还必须迭代map(类
Spravochnik
的字段map
)。 也许是这样: