컨트롤러에서 로그인 여부를 확인하고, 로그인되지 않았으면 로그인을 해달라고 안내한 후 리디렉션하는 방법이다.
원리
attribute에 "메세지", "리디렉션url" 값을 넣어 alert.jsp로 보내준다.
alert.jsp에는 alert를 실행하고 리디렉션하는 javascript가 존재한다.
1. Controller에서 오류 메세지, 리디렉션할 url 설정한 후 alert.jsp 로 보내기
if (member == null) {
request.setAttribute("msg", "로그인이 필요합니다.");
request.setAttribute("url", "/member/login");
return "alert";
}
지원서를 작성할 때, 로그인 된 사용자만 작성하도록 만들려고 한다.
alert 및 리디렉션을 테스트하기 위해 다른 코드는 아직 작성하지 않았다.
member 값이 null일 경우 '로그인이 필요합니다.' 메세지를 출력한 후 /member/login 으로 이동시킨다.
member 값이 존재할 경우 '가입 신청이 완료되었습니다' 메세지를 출력한 후 홈으로 이동시킨다.
2. alert.jsp에서 alert 출력한 후 리디렉션하기
<script>
var msg = "<c:out value='${msg}'/>";
var url = "<c:out value='${url}'/>";
alert(msg);
location.href = url;
</script>
jsp 파일 경로: /views/alert.jsp
jstl을 이용해 msg, url 값을 받아준 후 alert, location.href 순으로 실행시킨다.
3. 실행 결과
로그인되지 않은 경우 '로그인이 필요합니다' 가 출력되며, 확인을 누르면 로그인 페이지로 리디렉션된다.
'Spring' 카테고리의 다른 글
[Spring] 참고할만한 오픈소스 프로젝트들 (0) | 2021.05.17 |
---|---|
[Spring] 스프링에 AspectJ AOP 설정 및 사용하는 방법 (1) | 2021.05.17 |
[Bean] Bean.xml 파일에 Bean 등록 후 클래스 사용하기 (0) | 2021.05.04 |
[Spring] root-context.xml의 Namespaces탭에 jdbc가 없을 때 (0) | 2021.05.02 |
[Spring] Controller, Service, Dao, Vo 패키지 스캔 경로를 xml 파일에 추가하기 (0) | 2021.04.27 |
댓글