정상적인 경로로 접속하지 않은 경우 msg 페이지 보이기

jhin·2025년 3월 7일
0

시즌1

목록 보기
8/8

Controller에서 정상적인 경로로 해당 uri 접속한 게 아닌 경우

return CommUtil.doComplete(model, "오류", "정상적인 경로로 접속 해 주세요", "history.back();");

해당 코드로 처리한다.

	/**
	 * 처리 완료 후 안내문구 및 스크립트 설정,
	 * @param model ModelMap
	 * @param title : 페이지 타이틀 제목 (보통 오류또는 안내)
	 * @param msg : alert() 경고 문으로 보여줄 안내문, "" 값이면 경고창 없음
	 * @param script : javascript 처리문장 (보통 location.href='~~~~')
	 * @return /ncms/comm/message/message
	 */
	public static String doComplete(ModelMap model, String title, String msg, String script) {
		HashMap<String, String> message = new HashMap<String, String>();
		message.put("title",title);
		message.put("msg",msg);
		message.put("script",script);
		message.put("type","alert");
		model.addAttribute("message", message);

		return "/ncms/comm/message/message";
	}
    
	/**
	 * 처리후 confirm 함수를 이용해 사용자 선택을 받아서 처리 함
	 * @param model
	 * @param title 제목
	 * @param msg confirm 질문 내용
	 * @param okUrl [확인]버튼 클릭시 스크립트
	 * @param cancelUrl [아니오]버튼 클릭시 스크립트
	 * @return
	 */
	public static String doCompleteConfirm(ModelMap model, String title, String msg, String okUrl, String cancelUrl) {
		HashMap<String, String> message = new HashMap<String, String>();
		message.put("title",title);
		message.put("msg",msg);
		message.put("script","");
		message.put("okUrl",okUrl);
		message.put("cancelUrl",cancelUrl);
		message.put("type","confirm");
		model.addAttribute("message", message);
		return "/ncms/comm/message/message";
	}

return jsp는 아래와 같다.

<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>

<style>body{display:none;visibility:hidden;}</style>
<script>
<c:if test="${not empty message.title}">
document.title = "${message.title}";
</c:if>
<c:choose>
	<c:when test="${message.type eq 'alert'}">
		<c:if test="${message.msg != ''}">
		alert("<c:out value="${message.msg}"/>");
		</c:if>
		<c:out value="${message.script}" escapeXml="false" />
	</c:when>
	<c:when test="${message.type eq 'confirm'}">
		<c:if test="${message.msg != ''}">
		if (confirm("<c:out value="${message.msg}"/>")) {
			<c:out value="${message.okUrl}" escapeXml="false" />
		} else {
			<c:out value="${message.cancelUrl}" escapeXml="false" />
		}
		</c:if>
		<c:out value="${message.script}" escapeXml="false" />
	</c:when>
	<c:otherwise>
		<c:if test="${message.msg != ''}">
		alert("<c:out value="${message.msg}"/>");
		</c:if>
		<c:out value="${message.script}" escapeXml="false" />
	</c:otherwise>
</c:choose>
</script>

0개의 댓글