오류 및 문제점
1. 테이블 필터링 개수 오류
- 문제점: 상태 필터의 결과로 ajax를 사용해 tbody만 변경했더니 가져온 디자인의 개수, 검색, 페이지네이션이 일치하지 않는다.
- 해결 방안: form을 제출하면 페이지를 새로고침 되도록 방식을 바꾼다.
2. javax.el.PropertyNotFoundException
- 문제점: 기업 기능 제한 중 el을 서버에서 먼저 읽어 manager_pw를 불러올 수 없다는 오류가 발생한다.
- 해결 방안: el 문법 내에서 조건문을 작성한다.
if ("${managerUser}" != "" && "${managerUser}" != null)
var m = "${managerUser.manager_pw}";
var m = "${managerUser == '' || managerUser == null ? 0 : managerUser.manager_pw}";
if(m == 0)
return;
진행 상황
1. 상품, 기업 상태 필터
if(method.equals("GET")) {
productList = service.productList(comId, "all");
request.setAttribute("filter", "all");
page = "/product/product_list.jsp";
} else {
String cond = request.getParameter("prodStatus-filter");
productList = service.productList(comId, cond);
request.setAttribute("filter", cond);
page = "/product/product_list.jsp";
}
<form id="prodFilter" method="post" action="/product/productList.do">
<label>
<select id="prodStatus-filter" name="prodStatus-filter" class="custom-select custom-select-sm form-control form-control-sm">
<option value="all" ${filter == "all" ? "selected" : ""}>전체보기</option>
<option value="Y" ${filter == "Y" ? "selected" : ""}>활성</option>
<option value="N" ${filter == "N" ? "selected" : ""}>비활성</option>
</select>
</label>
<input type="submit" value="조회">
</form>
2. 에러 페이지
<div class="container-fluid">
<div class="text-center">
<div class="error mx-auto" data-text="404">404</div>
<p class="lead text-gray-800 mb-5">Page Not Found</p>
<p class="text-gray-500 mb-0">죄송합니다. 요청하신 페이지는 찾을 수 없는 페이지입니다.</p>
<a href="/">← Back to Dashboard</a>
</div>
</div>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" isErrorPage="true"%>
<div class="container-fluid">
<div class="text-center">
<div class="error mx-auto" data-text="500">500</div>
<p class="lead text-gray-800 mb-5"><%=exception.getMessage()%></p>
<p class="text-gray-500 mb-0">죄송합니다. 페이지를 처리하는 동안 오류가 발생했습니다.</p>
<a href="/">← Back to Dashboard</a>
</div>
</div>
<error-page>
<error-code>404</error-code>
<location>/error/error404.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/error/error500.jsp</location>
</error-page>
3. 기업 기능 제한
- header의 로그인 정보, 조회 기업 변경 select 제한
- 상품 조회, 주문건 조회, 입출고 내역 조회, 마케팅 리포트에만 접근 가능
- 페이지 내에서도 등록, 수정 등의 기능은 제한
<c:if test="${managerUser != null && managerUser != ''}">
<li class="nav-item">
<a class="nav-link" href="../company/companyList.do">
<i class="fas fa-fw fa-city"></i>
<span>기업관리</span>
</a>
</li>
</c:if>
참고 자료