【问题标题】:Spring MVC Pass multiple list from controller to jspSpring MVC将多个列表从控制器传递到jsp
【发布时间】:2012-12-10 06:01:57
【问题描述】:

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

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>

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

【问题讨论】:

  • 你的 POJO 中有 setter 和 getter

标签: java jsp spring-mvc jstl


【解决方案1】:

应该是&lt;c:forEach items="${model.employee}" var="element"&gt;

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

【讨论】:

  • 那么如何获取部门名称呢?
  • 如果您没有部门作为员工的属性,那么您将不得不遍历部门列表并检查具有employee.dept_id 的部门并打印其名称,
猜你喜欢
  • 2012-11-16
  • 2012-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多