表输出未显示在 JSP 中

问题描述 投票:0回答:1

我试图在 viewPersonalData.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>[enter image description here](https://i.stack.imgur.com/HvHpE.png)
                            <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>

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 {
        // Get the currently logged-in user
        UserEntity loggedInUser = (UserEntity) servletRequest.getSession().getAttribute("loggedInUser");

        if (loggedInUser != null) {
            // Fetch UserDetailsEntity for the logged-in user
            UserDetailsEntity userDetails = userDetailsManager.findUserDetailsByUser(loggedInUser);

            if (userDetails != null) {
                // Convert UserDetailsEntity to UserDetailsDTO
                UserDetailsDTO userDetailsDTO = new UserDetailsConverter().convertToDTO(userDetails);

                // Set userDetailsDTO as a request attribute
                servletRequest.setAttribute("userDetails", userDetailsDTO);
            }
        }

        // Forward the request to the JSP
        servletRequest.getRequestDispatcher("/WEB-INF/pages/employee/viewPersonalData.jsp")
                .forward(servletRequest, servletResponse);
    }


    @Override
    protected void doPost(HttpServletRequest request,
                          HttpServletResponse response) throws ServletException, IOException {

    }
}

Here is the jsp page

java mysql database jsp
1个回答
0
投票

您在 Servlet 中将键设置为“userDetails”,将值设置为 userDetailsDTO,因此在 JSP 中您需要使用

 <c:set var="userDetailsJsp" value="${userDetails}"/>

然后使用“userDetailsJsp.firstname”..等在表中显示值

© www.soinside.com 2019 - 2024. All rights reserved.