0
我想从数据库中显示的一些细节,所以我试图把通过列表查询返回的结果,查看网页,但它显示detils这样的:如何在jjsp页面上显示来自ModelMap属性的数据?
如果我在数据库then.It 10个细节展示一个细节10倍。
视图页细节:
<c:choose>
<c:when test="${not empty dtoBean}">
<c:forEach items="${dtoBean}" var="upComLeave">
<tr>
<td><span>${upComLeave.employee_id}</span></td>
<td><span>${upComLeave.no_of_leave}</span></td>
<td><span>${upComLeave.fromDate} - ${upComLeave.toDate}</span></td>
<td><span>${upComLeave.leaveType}</span></td>
<td><span>${upComLeave.leavePeriod}</span></td>
<td><span>${upComLeave.appliedLeave}</span></td>
<td><span>${upComLeave.leaveStatus}</span></td>
<c:if test="${upComLeave.leaveStatus ne 'Approved' }"> //check status if accepted, don't render Accept button
<td><button id="btnAccept" name="action" type="submit" value="Accept${upComLeave.emp_id}" onclick="">Approve</button></td>
</c:if>
<c:if test="${upComLeave.leaveStatus ne 'rejected' }">//check status if accepted, don't render Reject button
<td><button id="btnReject" name="action" type="submit" value="Reject${upComLeave.emp_id}">Reject</button></td>
</c:if>
<c:if test="${upComLeave.leaveStatus eq 'cancel' }">//check status if cancel, render cancel button
<td><button id="btnCancel" name="action" type="submit" value="Cancel${upComLeave.emp_id}">Cancel</button></td>
</c:if>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
upcomingLeavesList is empty or null..
</c:otherwise>
</c:choose>
控制器类:
@RequestMapping(value = "/upcomingLeaves", method = RequestMethod.GET)
public String showForm(@ModelAttribute("loginForm")EmpRegistrationForm profileForm, BindingResult result , HttpServletRequest request, HttpServletResponse response, ModelMap model){
try{
HttpSession session=super.getSession(model);
CommonDTOBean dtoBean=(CommonDTOBean)session.getAttribute("dtoBean");
List upcomingLeavesList=LeaveStatusWorker.upcomingLeaves(dtoBean);
session.setAttribute("upcomingLeavesList", upcomingLeavesList);
model.addAttribute("dtoBean",dtoBean);
return GlobalConstants.UPCOMING_LEAVES;
}catch(Exception e){
}
return "redirect: GlobalConstants.UPCOMING_LEAVES";
}
DTO服务类具有下面的方法来从数据库获取的信息:
public static List<CommonDTOBean> upcomingLeaves(CommonDTOBean dtoBean1) throws SQLException{
con=DBConnection.getConnection();
query= "select e.emp_id,e.LeaveType,e.leavePeriod,e.fromdate,e.todate,e.leave_status ,er.no_of_leave,e.no_of_leaves from EMPLEAVE e,newemp_register er where e.emp_id=er.emp_id " ;
PreparedStatement pstmt=con.prepareStatement(query);
System.out.println(GlobalConstants.LEAVE_STATUS);
rs=pstmt.executeQuery();
List<CommonDTOBean> list=new ArrayList<CommonDTOBean>();
while(rs.next()){
dtoBean1.setEmployee_id(rs.getInt(1));
dtoBean1.setLeaveType(rs.getString(2));
dtoBean1.setLeavePeriod(rs.getString(3));
dtoBean1.setFromDate(rs.getString(4));
dtoBean1.setToDate(rs.getString(5));
dtoBean1.setLeaveStatus(rs.getString(6));
dtoBean1.setNo_of_leave(rs.getString(7));
dtoBean1.setAppliedLeave(rs.getString(8));
list.add(dtoBean1);
}
return list;
}
和窗体豆类有:
public class CommonDTOBean {
private int employee_id;
private String empName;
private String email;
private String designation;
private String password;
private String DOJ;
private String empType;
private String leaveStatus;
..
..
..
// all setters and getters
}
是否正确或我做错了什么?
使用HashMap而不是List更好吗? – user3448105
谢谢你,它帮我解决了这个问题 – user3448105
有什么办法可以防止每次都创建新的对象吗?因为它会消耗每个对象的额外内存吗? – user3448105