2012-12-10 35 views
5

Tôi có hai đối tượng EmployeeDepartment Nhân viên chứa dept_id. Những gì tôi muốn làm là hiển thị nội dung của Employee trong một bảng trong trang jsp. Nhưng thay vì hiển thị dept_id tôi muốn hiển thị dept_name từ bảng Department. Cho đến nay tôi có phương pháp điều khiển của tôi là:Spring MVC Vượt qua nhiều danh sách từ bộ điều khiển đến jsp

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> 

giúp đỡ Bất kỳ? Tôi không thể hiển thị nội dung bản đồ cho trang jsp.

+0

bạn có setters và thu khí trong POJO của –

Trả lời

4

nó phải được <c:forEach items="${model.employee}" var="element">

Ngoài ra bộ phận phải là một tài sản của người lao động, do đó bạn có thể sử dụng ${employee.department.name}

+0

Vâng bạn, làm thế nào để có được tên bộ phận đó? – nebula

+0

nếu bạn không có bộ phận như một tài sản của nhân viên, sau đó bạn sẽ phải lặp qua danh sách bộ phận và kiểm tra các bộ phận với employee.dept_id và in tên của nó, – Subin

Các vấn đề liên quan