gpt4 book ai didi

java - 显示从 servlet 发送到 jsp 的对象的信息

转载 作者:行者123 更新时间:2023-12-02 05:51:47 24 4
gpt4 key购买 nike

我可以成功地将对象从 servlet 获取到 jsp 页面,但很清楚如何获取该对象中的各个元素进行显示,我尝试让 JSTL 标记库按如下所示工作,但无济于事。我将非常感谢对此的任何帮助,我知道它只是一些小东西,因为该对象位于 jsp 上。

另外,这是最好的方法吗?有哪些好的替代方案?

Servlet 提供 Welcome.jsp

protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
HttpSession session = request.getSession(true);
if (session.getAttribute("currentSessionUser") != null) {
user = (User) session.getAttribute("currentSessionUser");
userData = (User) ProfileDAO.displayUserProfile(user);

request.setAttribute("userData", userData);
request.getRequestDispatcher("Welcome.jsp").forward(request, response);
} else {
response.sendRedirect("LoginFailure.html");
}
}

欢迎.jsp

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
:
:
:
<title>Welcome</title>
</head>
<body>
Welcome to BLAHBLAH.COM

<%
Object userData = request.getAttribute("userData");

%>
<table>
<c:choose items="${userData}" var="userData">
<tr>
<td>${userData.name}</td>
<td>${userData.information}</td>
<td>${userData.address1}</td>
</tr>
</c:choose>
</table>

<p>userData></p>

最佳答案

不建议在jsp中使用Scriptlet,我们需要使用

1.El表达式

2.标签库

您的代码的问题是您在 jsp 中使用了根本不需要的 scriptlet

  Object userData = request.getAttribute("userData");

因为 userData 对象已在使用此代码的请求范围内可用

request.setAttribute("userData", userData);

3.您可以使用像这样的El表达式直接打印userData对象的值

            <td>${userData.name}</td>
<td>${userData.information}</td>
<td>${userData.address1}</td>

4.您还可以使用 jSTL 打印值,这是始终推荐的方法

  <c:out value="${userData.name}"/>
<c:out value="${userData.information}"/>
<c:out value="${userData.address1}"/>

关于java - 显示从 servlet 发送到 jsp 的对象的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23473525/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com