[ETC] Spring Controller에서 자바스크립트 경고창 띄우는 방법
@욕심쟁이
·2021. 1. 27. 18:41
반응형
1. 아래와 같이 경고창을 띄울수 있는 Class를 생성합니다.
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.http.HttpServletResponse;
//=> 컨트롤에서 경고창 전달시 사용
public class ScriptAlertUtils {
public static void init(HttpServletResponse response) {
response.setContentType("text/html; charset=utf-8");
response.setCharacterEncoding("utf-8");
}
public static void alert(HttpServletResponse response, String alertText) throws IOException {
// 사용법 : ScriptAlertUtils.alert("아이디가 중복");
init(response);
PrintWriter out = response.getWriter();
out.println("<script>alert('" + alertText + "');</script> ");
out.flush();
}
public static void alertAndBackPage(HttpServletResponse response, String alertText) throws IOException {
// 사용법 : ScriptAlertUtils.alertAndBackPage("아이디가 중복", "/login.do");
init(response);
PrintWriter out = response.getWriter();
out.println("<script>alert('" + alertText + "'); history.go(-1);</script>");
out.flush();
}
public static void alertAndMovePage(HttpServletResponse response, String alertText, String nextPage) throws IOException {
// 사용법 : ScriptAlertUtils.alertAndMovePage("아이디가 중복","/login.do");
init(response);
PrintWriter out = response.getWriter();
out.println("<script>alert('" + alertText + "'); location.href='" + nextPage + "';</script> ");
out.flush();
}
}
2. Controller 에서 아래와 같은 방법으로 사용
@RequestMapping(value = "/joinPro", method = RequestMethod.POST)
public String join(EmpBean b, Model model,HttpServletRequest request,HttpSession session,HttpServletResponse response) {
try {
int stf_id = (int) session.getAttribute("u_id");
int cnt = empService.empChk(stf_id);
if(cnt > 0) {
ScriptUtils.alertAndBackPage("아이디중복", "/join.do");
}else {
empService.joinPro(b);
}
} catch (Exception e) {
e.printStackTrace();
}
// /WEB-INF/views/sub3/commuteList.jsp
return "redirect:/login";
}
반응형
'IT > etc' 카테고리의 다른 글
[채널톡플러그인] 채널톡 사용법 (0) | 2021.10.20 |
---|---|
[JSTL] JSTL에서 varStatus 이용하여 인덱스번호 출력(페이징처리) (0) | 2021.02.08 |
[MyBatis/JAVA/Spring/Maven] log4를 사용하여 SQL로그 출력하기 (0) | 2021.01.26 |
[GIT] ignore 파일이 적용 안될때 설정 (0) | 2021.01.24 |
[ETC]WAR파일 만들기(export/import) (0) | 2020.09.17 |