AdminController 메뉴목록, 서브메뉴 목록 조회 쿼리문 삭제 해도 정상 실행.
MenuIntercepter 클래스
intercepter 패키지를 하나 만들고 그 안에 MenuIntercepter 클래스를 만든다.
이후 HandlerInterceptor를 implemnets한다. 즉, MenuIntercepter에서 HandlerInterceptor를 구현하게 만들어주었다.
그리고 @Override를 통해 postHandle을 가지고왔다.
이후 생성되어있는 ModelAndView를 통해 Object 객체에 AdminController에 있는 adminService쿼리문을 넣어주었고,
각각 이름을 menuList, subMenuList로 Html로 넘겨주게 된다.
AdminController 컨트롤러
주의할 점은, 여기있는 이름과 맞춰줘야 한다. html에서 그대로 뽑은것이기 때문이다.
IntercepterConfig 클래스
여기선 WebMvcConfigurer를 구현해주었고, @Override로 해당 메소드를 불러와주었다.
registry.addInterceptor( ) 로 이전에 만든 MenuIntercepter 객체를 생성해주었고, 경로를 admin에 있는 cateManage로 넘겨준다.
이 부분을 지워주면 intercepterConfig에 의해 알아서 내용이 채워질 것이다.
@Configuration 은 일반적인 코드들 보다 가장 먼저 읽기 때문에,
registry.addInterceptor(new MenuIntercepter()) 여기서
@Resource(name="adminService")
private AdminService adminService; 이친구를 못받아온다.
하지만 이렇게만 하면 정상적으로 실행되지 않을 것이다.
IntercepterConfig 클래스
새로운 메소드를 만들어 MenuIntercepter클래스를 Bean으로 오버라이드하여 프로젝트가 실행되자마자 만들어지게 했다.
따라서 이렇게 수정해주면, 정상적으로 실행이 될 것이다.
이런식으로 다른 admin 컨트롤러에 있는 상품 등록, 상품 재고, 상품 수정에 있는 것들도 지워주자.
이렇게 Admin 컨트롤러에 있는 메뉴 목록 조회와 서브 메뉴 목록 조회 쿼리문을 다 지우고,
intercepterConfig에 경로를 모두 추가해주었다.
'✨ Back-end > Spring-Boot' 카테고리의 다른 글
[Spring] 쇼핑몰 - 17 상품 등록(INSERT) (0) | 2023.03.29 |
---|---|
[Spring] 쇼핑몰 - 16 페이지 권한 막기 (IntercepterConfig) (0) | 2023.03.29 |
응집도를 높이는 기능 Intercepter 사용법. (0) | 2023.03.29 |
[Spring] 쇼핑몰 - 14 서브메뉴 클릭시 classappend 적용하기 (0) | 2023.03.29 |
[Spring] 쇼핑몰 - 13 관리자 메뉴, 서브메뉴 띄우기 side_layout (1) | 2023.03.28 |
댓글