java - Spring MVC 将多个列表从 Controller 传递到 jsp

标签 java jsp spring-mvc jstl

我有两个对象 EmployeeDepartment Employee 包含 dept_id。我想要做的是在 jsp 页面的表格中显示 Employee 的内容。但我不想显示 dept_id,而是显示 Department 表中的 dept_name。到目前为止,我的 Controller 方法为:

public ModelAndView viewEmployee(HttpServletRequest request,
            HttpServletResponse response) throws Exception {

        List<Employee> employeeList = employeeService.getAllEmployee();
        List<Department> departmentList = new ArrayList<Department>();
        for (Employee e : employeeList) {
            departmentList.add(departmentService.getDepartment(e.getDept_id()));
        }
        Map<String, Object> model = new HashMap<String, Object>();
        model.put("employee", employeeList);
        model.put("department", departmentList);

        return new ModelAndView("viewEmployee", "model", model);
    } 

viewEmployee.jsp

<table border="1px" bordercolor="black" width=80% align="center">
                <tr>
                    <td>Name</td>
                    <td>Gender</td>
                    <td>Salary</td>
                    <td>Department</td>
                    <td>Action</td>
                </tr>
                <c:forEach items="${model.employeeList}" var="element">

                    <tr>
                        <td><c:out value="${element.name}" /></td>
                        <td><c:out value="${element.gender}" /></td>

                        <td><c:out value="${element.salary}" /></td>

                        <td>display Department Name here </td>

                        <td><a
                            href="<c:url value="editEmployee.htm">  
                    <c:param name="emp_id" value="${element.id}"/>  
        </c:url>  
    ">Edit</a>
                            <a
                            href="<c:url value="deleteEmployee.htm">  
                    <c:param name="emp_id" value="${element.id}"/>  
        </c:url>  
    ">Delete</a>

                        </td>
                    </tr>

                </c:forEach>
            </table>

有什么帮助吗?我无法将 map 内容显示到 jsp 页面。

最佳答案

应该是<c:forEach items="${model.employee}" var="element">

此外 department 应该是 Employee 的属性,这样你就可以使用 ${employee.department.name}

关于java - Spring MVC 将多个列表从 Controller 传递到 jsp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13795809/

相关文章:

java - 当程序在 Debug模式下运行时,有什么方法可以查看 java 程序中数组的内容吗?

java - 仅图像的单独项目 - 需要重构吗?

javascript - 如何引发提示事件并发布到jsp?

java - 如何在 Spring MVC 中管理用户 session

spring - spring 3.1.2 中使用注释的国际化不起作用

Tomcat7 中的 Java 1.5 war 产生 InvokerServlet 异常?

java - Libgdx 设置随机位置

java - 编写 Controller 的正确方法

java - 如何创建可以动态接受角半径和颜色并相应更改的自定义按钮 View

java - 如何在jsp中获取日期值并将其更新到mysql