JSTL - 无法在 jsp 中显示对象属性值
JSTL-unable to display object attribute values in jsp
使用的软件:Tomcat8.0.52,jdk/jre10.0.1,notepad++(不能用IDE)
已正确设置所有环境变量并使用示例程序进行检查。
试图显示从 servlet 到 .jsp
的查询结果
我的 servlet 代码:
List<User> uu = new ArrayList<User>();
ResultSet rs;
rs=stmt.executeQuery("select * from assign where userid!='admin';");
if(!rs.next())response.sendRedirect("displayerror.jsp");
else{
do{
User p=new User();
p.setuserid(rs.getString(1));
p.setpassword(rs.getString(2));
p.setcontact(rs.getString(3));
p.setrole(rs.getString(4));
p.setmentor(rs.getString(5));
p.setgroup(rs.getString(6));
uu.add(p);
}while(rs.next());
}
request.setAttribute("results", uu);
RequestDispatcher rd = request.getRequestDispatcher("display.jsp");
rd.forward(request, response);
将列表 uu 设置为 'results' 并将其转发到 display.jsp 我打算显示查询结果的地方。
class 用户:
class User {
String userid;
String password;
String contact;
String role;
String mentor;
String group;
// Setters and getters
}
此 class 的对象已传递给 display.jsp。
我的 display.jsp 代码:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head><title>WELCOME</title></head>
<body>
<form >
<table>
<c:forEach items="${results}" >
<tr><td><c:out value="${results.userid}"></c:out></td>
<td><c:out value="${results.password}"></c:out></td>
<td><c:out value="${results.role}"></c:out></td>
<td><c:out value="${results.contact}"></c:out></td>
<td><c:out value="${results.mentor}"></c:out></td>
<td><c:out value="${results.group}"></c:out></td></tr>
</c:forEach>
</table>
</form>
</body>
</html>
我尝试了 运行 一个基本的 JSTL 程序(显示数字)并且运行良好。我也尝试只显示 'results' 大小,但它显示了。代码不起作用的唯一情况是当我尝试访问 ${result.userid} 时它不会抛出任何错误只是一个空白屏幕。
在 web.xml 中:我也尝试使用版本 3.1 和 2.5(如果有帮助的话)。
已将 .jar 文件(taglibs-standard-impl-1.2.5.jar & taglibs-standard-spec-1.2.5.jar 放在 class 路径中)
请原谅我答案或代码格式有任何错误(我的第一个问题)。
尝试使用
<c:forEach var="results" items="${results}">
<tr>
<td><c:out value="${results.userid}"></c:out></td>
<td><c:out value="${results.password}"></c:out></td>
<td><c:out value="${results.role}"></c:out></td>
<td><c:out value="${results.contact}"></c:out></td>
<td><c:out value="${results.mentor}"></c:out></td>
<td><c:out value="${results.group}"></c:out></td>
</tr>
</c:forEach>
使用的软件:Tomcat8.0.52,jdk/jre10.0.1,notepad++(不能用IDE)
已正确设置所有环境变量并使用示例程序进行检查。
试图显示从 servlet 到 .jsp
的查询结果
我的 servlet 代码:
List<User> uu = new ArrayList<User>();
ResultSet rs;
rs=stmt.executeQuery("select * from assign where userid!='admin';");
if(!rs.next())response.sendRedirect("displayerror.jsp");
else{
do{
User p=new User();
p.setuserid(rs.getString(1));
p.setpassword(rs.getString(2));
p.setcontact(rs.getString(3));
p.setrole(rs.getString(4));
p.setmentor(rs.getString(5));
p.setgroup(rs.getString(6));
uu.add(p);
}while(rs.next());
}
request.setAttribute("results", uu);
RequestDispatcher rd = request.getRequestDispatcher("display.jsp");
rd.forward(request, response);
将列表 uu 设置为 'results' 并将其转发到 display.jsp 我打算显示查询结果的地方。 class 用户:
class User {
String userid;
String password;
String contact;
String role;
String mentor;
String group;
// Setters and getters
}
此 class 的对象已传递给 display.jsp。
我的 display.jsp 代码:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head><title>WELCOME</title></head>
<body>
<form >
<table>
<c:forEach items="${results}" >
<tr><td><c:out value="${results.userid}"></c:out></td>
<td><c:out value="${results.password}"></c:out></td>
<td><c:out value="${results.role}"></c:out></td>
<td><c:out value="${results.contact}"></c:out></td>
<td><c:out value="${results.mentor}"></c:out></td>
<td><c:out value="${results.group}"></c:out></td></tr>
</c:forEach>
</table>
</form>
</body>
</html>
我尝试了 运行 一个基本的 JSTL 程序(显示数字)并且运行良好。我也尝试只显示 'results' 大小,但它显示了。代码不起作用的唯一情况是当我尝试访问 ${result.userid} 时它不会抛出任何错误只是一个空白屏幕。
在 web.xml 中:我也尝试使用版本 3.1 和 2.5(如果有帮助的话)。
已将 .jar 文件(taglibs-standard-impl-1.2.5.jar & taglibs-standard-spec-1.2.5.jar 放在 class 路径中)
请原谅我答案或代码格式有任何错误(我的第一个问题)。
尝试使用
<c:forEach var="results" items="${results}">
<tr>
<td><c:out value="${results.userid}"></c:out></td>
<td><c:out value="${results.password}"></c:out></td>
<td><c:out value="${results.role}"></c:out></td>
<td><c:out value="${results.contact}"></c:out></td>
<td><c:out value="${results.mentor}"></c:out></td>
<td><c:out value="${results.group}"></c:out></td>
</tr>
</c:forEach>