BookManagement 프로젝트에서 도서를 추가하면 성공적으로 도서를 추가했다는 alert 창을 띄운 뒤, book list 페이지로 넘어가도록 만들고 싶었지만 쉽지 않았다.
결론적으로 말하자면 Response.Write() 안에 <script> 태그를 사용하여 alert창을 띄워주고, location.href를 이용하여 다음 페이지를 지정해주면 된다.
Response.Write("<script>alert('추가하신 도서가 정상적으로 처리되었습니다!');</script>");
Response.Write("<script>location.href='viewbooks.jsp';</script>");
아래는 내가 다양하게 시도했던 방법들이다.
여러 가지 방법을 시도해보았는데, 첫 번째로는 jsp 페이지 하단에 <script> 태그 안에 자바 스크립트 코드를 작성해주었는데 알림창 자체가 뜨지 않고 빈 페이지만 로딩되었다.
<script>
alert("저장 완료");
location.href="이동할페이지.jsp";
</script>
두번째 방법은 다음과 같다.
<%
out.println("<script>alert('저장완료');</script>");
out.println("<script>location.href='veiwbooks.jsp';</script>");
%>
그런데 이 방법을 사용했더니 alert 창은 떴지만, 그 다음 페이지인 viewbooks.jsp로 넘어가지 않았다.
그러면 자바 스크립트 코드 말고 response.sendRedirect 을 쓰면 안되는지 의문이 들 수 있는데,
이걸 써버리면 이 코드 위에 alert 창을 띄우는 자바 스크립트 코드가 있어도 무시하고 그냥 다음 페이지로 넘어갔다.
<% out.println("<script>alert('저장완료');</script>");%>
response.sendRedirect("viewbooks.jsp");
그래서! 찾은 방법이 Response.Write이다.
비록 alert 창을 띄우고 바로 viewbooks.jsp 페이지로 매끄럽게 넘어가는건 아니다.
중간에 빈 페이지가 잠깐 뜬 뒤 넘어가긴 하지만,, 일단 해결했다는 것에 만족한다.
Response.Write("<script>alert('추가하신 도서가 정상적으로 처리되었습니다!');</script>");
Response.Write("<script>location.href='viewbooks.jsp';</script>");
'내가 보려고 만드는 > jsp' 카테고리의 다른 글
[jsp] 웹 페이지를 새로고침 할 때마다 변수 값 초기화시키기 (0) | 2021.01.28 |
---|---|
[입력값] 한글 깨짐 (0) | 2021.01.20 |
[form] request: checkbox 값 가져오기 (0) | 2021.01.19 |