Is there a way to loop through Result<Record> from jOOQ in a <c:forEach>?
Here’s the getter method:
public Vector<Map<String, String>> getUsers() {
Factory sql = new Factory(Database.getInstance().connect(), SQLDialect.MYSQL);
Result<Record> results = sql.select().from("users").fetch();
Vector<Map<String, String>> v = new Vector<Map<String, String>>();
for(Record item: results) {
Map<String, String> m = new HashMap<String, String>();
m.put("login", item.getValueAsString("login"));
// other columns
v.add(m);
}
return v;
}
Here’s the view:
<c:forEach var="u" items="${users}">
${u.login} <br />
</c:forEach>
Is there way to make my getter method simpler like:
public Result<Record> getUsers() {
Factory sql = new Factory(Database.getInstance().connect(), SQLDialect.MYSQL);
reutrn sql.select().from("users").fetch();
}
But as mentioned earlier I don’t know how to loop through it in <c:forEach>, or maybe is it not possible?
It seems that you would like to operate on records as if they were maps. Here’s how to achieve this with jOOQ:
See the relevant Javadocs here:
ResultQuery.fetchMaps()Result.intoMaps()Record.intoMap()