如何在从 servlet 检索的 JSP 数据中显示数组数组。尝试从 JSP 访问时,记录不显示任何内容
Posted
技术标签:
【中文标题】如何在从 servlet 检索的 JSP 数据中显示数组数组。尝试从 JSP 访问时,记录不显示任何内容【英文标题】:How to display array of arrays in JSP data retrieved from servlet . The record displays nothing while trying to access from JSP 【发布时间】:2022-01-04 04:21:29 【问题描述】:想要在 JSP 页面中显示以下数据模式。 record.id 显示没有任何人可以帮助解决此问题。数据是从 servlet 的 mysql 数据库中获取并传递给 JSP。
JSP 代码
<table>
<tr>
<c:forEach var="record" items="$STUDENT_LIST">
<td>$record.id</td>
<td>$record.sfirstName</td>
<td>$record.sgender</td>
</c:forEach>
</tr>
</table>
数据格式
[getStudentDetails[id=1, sfirstName=Tom, sgender=M],
[getStudentDetails[id=2,sfirstName=jerry, sgender=M],
[getStudentDetails[id=3, sfirstName=scooby, sgender=M]]
Servlet 代码
学生 = studentDetailsDB.getStudents();
request.setAttribute("STUDENT_LIST", students);
request.getRequestDispatcher("studentDetailsView.jsp").forward(request, response);
学生班 公共类 getStudentDetails
private int id;
private String sfirstName;
private String sgender;
public getStudentDetails(int id, String sfirstName, String sgender)
this.id = id;
this.sfirstName = sfirstName;
this.sgender = sgender;
public int getId()
return id;
public void setId(int id)
this.id = id;
public String getSfirstName()
return sfirstName;
public void setSfirstName(String sfirstName)
this.sfirstName = sfirstName;
public String getSgender()
return sgender;
public void setSgender(String sgender)
this.sgender = sgender;
@Override
public String toString()
return "getStudentDetails[" + "id=" + id + ", sfirstName=" + sfirstName + ", sgender=" + sgender + ']';
DBO 而 (rs.next())
// retrieve data from result set row
int id = rs.getInt("studentId");
String sfirstName = rs.getString("sFirstName");
String sgender = rs.getString("gender");
getStudentDetails tstudent = new getStudentDetails(id ,sfirstName,sgender);
student.add(tstudent);
【问题讨论】:
record.slastName
与 sfirstName=scooby
?
在您的 servlet 中,您是否将此数据添加到您的请求或会话中?
学生 = studentDetailsDB.getStudents(); request.setAttribute("STUDENT_LIST", 学生); request.getRequestDispatcher("studentDetailsView.jsp").forward(request, response);
你确定students = studentDetailsDB.getStudents();
不为空吗?
不,它不是空的 $STUDENT_LIST 具有问题中提到的格式的详细信息。当我执行 foreach 循环并尝试使用问题中提到的 record.id 获取数据时,我没有得到任何输出
【参考方案1】:
在您提供的 JSP 中,您没有包含 taglib 指令
<%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core" %>
对于c:forEach
。
没有这个,你什么都得不到。
【讨论】:
添加后出现以下错误, Catchorg.apache.jasper.JasperException 内部:绝对 uri:[java.sun.com/jsp/jstl/core] 无法在 web.xml 或随此应用程序部署的 jar 文件中解析 我在 maven 存储库中有 jar 文件我尝试在依赖项中添加它,但它仍然没有工作以上是关于如何在从 servlet 检索的 JSP 数据中显示数组数组。尝试从 JSP 访问时,记录不显示任何内容的主要内容,如果未能解决你的问题,请参考以下文章