JSP & HTML & CSS
[JSP] JSTL <c:choose> 실습
데브워니
2022. 1. 6. 09:06
<조건>
- index.jsp 장비 목록에서 장비 하나를 클릭하면 해당 장비에 대한 정보 검색
- combox box를 이용하여 장비 목록 선택
- index.jsp 장비관리 메뉴를 클릭하면 전체 장비 조회가 기본값으로 selected, 다른 장비도 선택할 수 있어야함
- Controller.java
@RequestMapping(value = "machine.do", method = {RequestMethod.GET, RequestMethod.POST })
public String index(ModelMap model, HttpServletRequest request) throws Exception {
List<MenuData> list = menuService.getUserMenu(request.getSession().getAttribute("id").toString());
model.addAttribute("MenuList", list);
MachineData data = new MachineData();
data.setUSER_ID(request.getSession().getAttribute("id").toString());
List<MachineData> machine_list = machineService.getMachineList(data); //전체 장비 검색
model.addAttribute("Machine_list", machine_list);
data.setMAC_CD(request.getParameter("MAC_CD"));
List<MachineData> machine_info = machineService.getMachineMine(data); //MAC_CD로 장비 조회
model.addAttribute("Machine_info", machine_info);
return "machine/index";
}
- index.jsp
<div class="col-md-2">
<select class="form-control" name="Machine_list" onchange="machine_choice(this);">
<option value="">전체</option>
<c:choose>
<c:when test="${fn:length(Machine_list) > 0 }">
<c:forEach var="row" items="${Machine_list}" varStatus="status">
<c:choose>
<c:when test="${fn:length(Machine_info) > 0 }">
<c:forEach var="row2" items="${Machine_info}" varStatus="status">
<option value='<c:out value="${row.getMAC_CD()}"></c:out>'<c:if test="${row.getMAC_CD() == row2.getMAC_CD()}">selected</c:if>><c:out value="${row.getMAC_CD()}"></c:out></option>
</c:forEach>
</c:when>
<c:otherwise>
<option value='<c:out value="${row.getMAC_CD()}"></c:out>'><c:out value="${row.getMAC_CD()}"></c:out></option>
</c:otherwise>
</c:choose>
</c:forEach>
</c:when>
</c:choose>
</select>
</div>
- JSTL <c:choose>문과 <c:forEach>문 이용
<결과>
장비 하나 선택시
- index.jsp에서 하나의 장비를 선택할 시 combo box에 해당 장비코드가 selected되어 나타남
- 전체 장비 및 다른 장비 조회 가능
장비관리 메뉴 클릭시
- index.jsp에서 장비관리 메뉴 클릭시 combo box에 전체 장비가 selected되어 나타남
- 전체 장비 및 다른 장비 조회 가능