package egovframework.com.cmm.web; import egovframework.com.cmm.util.EgovDoubleSubmitHelper; import egovframework.com.cmm.util.RedirectUrlMaker; import egovframework.rte.fdl.property.EgovPropertyService; import nl.captcha.Captcha; import java.util.HashMap; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.servlet.mvc.support.RedirectAttributes; /** * 공통유틸리티성 작업을 위한 Controller 클래스 * @author 공통 서비스 개발팀 JJY * @since 2009.03.02 * @version 1.0 * @see * *
 * << 개정이력(Modification Information) >>
 *
 *   수정일      수정자          수정내용
 *  -------    --------    ---------------------------
 *  2009.03.02  JJY            최초 생성
 *  2011.08.31  JJY            경량환경 템플릿 커스터마이징버전 생성
 *
 *  
*/ @Controller public class EgovComUtlController { /** EgovPropertyService */ @Resource(name = "propertiesService") protected EgovPropertyService propertiesService; /** * JSP 호출작업만 처리하는 공통 함수 */ @RequestMapping(value = "/EgovPageLink.do") public String moveToPage(@RequestParam("link") String linkPage, HttpSession session, @RequestParam(value = "baseMenuNo", required = false) String baseMenuNo, @RequestParam(value = "baseMenuNm", required = false) String baseMenuNm, Model model , HttpServletRequest request ) { String link = linkPage; // service 사용하여 리턴할 결과값 처리하는 부분은 생략하고 단순 페이지 링크만 처리함 if (linkPage == null || linkPage.equals("")) { link = "cmm/egovError"; } else { if (link.indexOf(",") > -1) { link = link.substring(0, link.indexOf(",")); } } // 선택된 메뉴정보를 세션으로 등록한다. if (baseMenuNo != null && !baseMenuNo.equals("") && !baseMenuNo.equals("null")) { session.setAttribute("baseMenuNo", baseMenuNo); }else if(null != request.getAttribute("baseMenuNo")){ session.setAttribute("baseMenuNo", (String)request.getAttribute("baseMenuNo")); } // 선택된 메뉴정보를 상단 이름을 세션으로 등록한다. if (baseMenuNm != null && !baseMenuNm.equals("") && !baseMenuNm.equals("null")) { session.setAttribute("baseMenuNm", baseMenuNm); }else if(null != request.getAttribute("baseMenuNm")){ session.setAttribute("baseMenuNm", (String)request.getAttribute("baseMenuNm")); } if(request.getRequestURI().contains("/WEB-INF/jsp/main/EgovMainView.jsp")){//메인페이지일 경우, 상단 버튼 색상 default로, 이름을 session.setAttribute("baseMenuNo", null); session.setAttribute("baseMenuNm", "관리자 메인페이지"); } return link; } /** * JSP 호출작업만 처리하는 공통 함수 */ @RequestMapping(value = "/EgovPageLink.action") public String moveToPage_action(@RequestParam("link") String linkPage) { String link = linkPage; // service 사용하여 리턴할 결과값 처리하는 부분은 생략하고 단순 페이지 링크만 처리함 if (linkPage == null || linkPage.equals("")) { link = "cmm/egovError"; } return link; } /** * validation rule dynamic java script */ @RequestMapping("/validator.do") public String validate() { return "cmm/validator"; } /** * 상단 링크시 파라미터 삭제 후 페이지 호출 */ @RequestMapping(value = "/EgovTopPageLink") public String EgovTopPageLink(@RequestParam("link") String linkPage , @RequestParam("baseMenuNo") String baseMenuNo , @RequestParam(value = "baseMenuNm", required = false) String baseMenuNm, ModelMap model, RedirectAttributes redirectAttributes, HttpServletRequest req) throws Exception{ String link = linkPage; // service 사용하여 리턴할 결과값 처리하는 부분은 생략하고 단순 페이지 링크만 처리함 if (linkPage == null || linkPage.equals("")) { link = "cmm/egovError"; } //linkPage = linkPage+"?baseMenuNo=" + baseMenuNo ; redirectAttributes.addFlashAttribute("baseMenuNo", baseMenuNo); //파라미터숨기기 redirectAttributes.addFlashAttribute("baseMenuNm", baseMenuNm); //파라미터숨기기 RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker(link); return redirectUrlMaker.getRedirectUrl(); } }