You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 14:44:56