JSP页面员工个人数据表格无数据显示问题求助
问题描述
我尝试在viewPersonalData.jsp页面展示已登录员工的个人数据库信息,但页面仅显示表格框架,无数据内容。数据库中已存储对应数据,管理员身份登录后可在另一JSP页面查看所有员工数据,现在需要实现员工查看自身数据的功能,尚未找到有效解决方案,寻求帮助。
JSP代码(viewPersonalData.jsp)
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> <%@taglib prefix="t" tagdir="/WEB-INF/tags" %> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <t:pageTemplate pageTitle="View Personal Data" userType="Employee"> <div class="row"> <div class="col-xl-6"> <div class="card"> <div class="card-body"> <div class="dropdown float-right position-relative"> <a href="#" class="dropdown-toggle h4 text-muted" data-toggle="dropdown" aria-expanded="false"> </a> <ul class="dropdown-menu dropdown-menu-right"> <li><a href="#" class="dropdown-item">Action</a></li> <li><a href="#" class="dropdown-item">Another action</a></li> <li><a href="#" class="dropdown-item">Something else here</a></li> <li class="dropdown-divider"></li> <li><a href="#" class="dropdown-item">Separated link</a></li> </ul> </div> <div class="table-responsive"> <table class="table table-centered table-hover table-xl mb-0" id="recent-orders"> <tbody> <c:set var="userDetails" value='${requestScope.get("loggedInUser")}'/> <tr> <th class="border-top-1">First name</th> <td class="text-truncate">${userDetails.firstName}</td> </tr> <tr> <th class="border-top-1">Last name</th> <td class="text-truncate">${userDetails.lastName}</td> </tr> <tr> <th class="border-top-1">User type</th> <td class="text-truncate">${userDetails.userType}</td> </tr> <tr> <th class="border-top-1">Gender</th> <td class="text-truncate">${userDetails.userGender}</td> </tr> <tr> <th class="border-top-1">Date of birth</th> <td class="text-truncate">${userDetails.birthDate}</td> </tr> <tr> <th class="border-top-1">Address</th> <td class="text-truncate">${userDetails.userAddress}</td> </tr> <tr> <th class="border-top-1">Religion</th> <td class="text-truncate">${userDetails.userReligion}</td> </tr> <tr> <th class="border-top-1">Work program</th> <td class="text-truncate">${userDetails.workTime}</td> </tr> <tr> <th class="border-top-1">Salary</th> <td class="text-truncate">${userDetails.baseSalary}</td> </tr> <tr> <th class="border-top-1">Bank account</th> <td class="text-truncate">${userDetails.bankAccount}</td> </tr> </tbody> </table> </div> </div> </div> </div> </div> </t:pageTemplate>
Servlet代码(ViewPersonalData.java)
package com.ulbs.employeeadministration.servlets.employee; import com.ulbs.employeeadministration.dto.UserDetailsDTO; import com.ulbs.employeeadministration.dto.converters.UserDetailsConverter; import com.ulbs.employeeadministration.entities.UserDetailsEntity; import com.ulbs.employeeadministration.entities.UserEntity; import com.ulbs.employeeadministration.managers.UserDetailsManager; import jakarta.inject.Inject; import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.List; import java.util.stream.Collectors; @WebServlet(name = "View Personal Data", value = "/ViewPersonalData") public class ViewPersonalData extends HttpServlet { @Inject UserDetailsManager userDetailsManager; @Override protected void doGet(HttpServletRequest servletRequest, HttpServletResponse servletResponse) throws ServletException, IOException { // 获取当前登录用户 UserEntity loggedInUser = (UserEntity) servletRequest.getSession().getAttribute("loggedInUser"); if (loggedInUser != null) { // 获取登录用户的详细信息实体 UserDetailsEntity userDetails = userDetailsManager.findUserDetailsByUser(loggedInUser); if (userDetails != null) { // 将实体转换为DTO UserDetailsDTO userDetailsDTO = new UserDetailsConverter().convertToDTO(userDetails); // 将DTO设置为请求属性 servletRequest.setAttribute("userDetails", userDetailsDTO); } } // 转发请求到JSP页面 servletRequest.getRequestDispatcher("/WEB-INF/pages/employee/viewPersonalData.jsp") .forward(servletRequest, servletResponse); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } }
页面效果
页面仅显示表格框架,无任何数据内容。
内容的提问来源于stack exchange,提问作者Jo.
相关产品推荐
相关产品推荐

