由于某种原因,这
<sql:query dataSource="${ds}" sql="select user.id, user.name as userName, city, state, country, country.name as countryName, latitude, longitude, ip, last_visit from user, country where user.country = country.id order by last_visit desc limit 100" var="result"/> <c:forEach var="col" items="${result.columnNames}"> ${col}, </c:forEach>
产生
id, name, city, state, country, name, latitude, longitude, ip, last_visit,
哪有错 我专门重命名了查询中的列。我不知道它是如何找到原始字段名称的。那么,如何访问user.name的值?${row.userName}不起作用。
${row.userName}
我正在使用JSTL jstl-1.2.2。
不知道这是否有帮助,但是我已经读到使用别名不能总是正常工作。我见过的一种可能的替代方法:
<sql:query dataSource="${ds}" sql="select user.id, concat(user.name,'') as userName, city, state, country, concat(country.name,'') as countryName, latitude, longitude, ip, last_visit from user, country where user.country = country.id order by last_visit desc limit 100" var="result"/> <c:forEach var="col" items="${result.columnNames}"> ${col}, </c:forEach>
希望这可以帮助。祝好运。