전자정부표준프레임워크 마지막 화면처리이다.
제일 처음은 컨트롤러랑 JSP코드 작성해서 프로그래밍 언어 배울때 제일 처음 항상 하는 HELLO WORLD 띄워보기 하핳..
새 프로젝트 하나 만들어주고 context-servlet.xml 파일에다가 ViewResolver 설정인 아래 코드 내용 먼저 작성해주기.
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/WEB-INF/jsp/" p:suffix=".jsp" />
그 다음은 컨트롤러 파일에다가 URL이랑 View랑 연결해주는 @RequestMapping 관련 코드 작성.
@RequestMapping(value = "/hello.do")
public String helloworld() {
return getViewName();
}
세 번째로는 JSP 파일 즉 View 만들고 실행시켜서 결과 출력 확인하기.
<%@ 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="spring" uri="http://www.springframework.org/tags"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Hello egovFrame</title>
</head>
<body>
<h1>HELLO WORLD!</h1>
</body>
</html>
다음은 웹사이트들을 보면 한국어, 영어, 중국어 등 국제화 가능한데 이거 설정하는거를 간단히 실습해보기로 한다.
역시나 먼저 관련 bean을 context-servlet.xml 파일에 설정해주기.
<bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"
p:paramName="lang" />
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver" />
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping">
<property name="interceptors">
<list>
<ref bean="localeChangeInterceptor"/>
</list>
</property>
</bean>
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter" />
그 다음은 LoginController에 @SessionAttributes 설정해주고 톰캣 서버 재기동해주기.
@Controller
@SessionAttributes("login")
public class LoginController {
...
}
@RequestMapping(value = "/memberInfo.do")
public ModelAndView memberInfo(HttpSession httpSession) {
ModelAndView mav = new ModelAndView("/login/memberInfo");
return mav;
}
@RequestMapping(value = "loginOut.do", method = RequestMethod.GET)
public String logOut(SessionStatus sessionStatus) {
if(!sessionStatus.isComplete())
sessionStatus.setComplete();
return "redirect:/loginProcess1.do";
}
여기서 또 하나 알아두면 좋은 것은 프로퍼티 파일(.properties)이다.
프로퍼티 파일은 파라미터들 미리 저장하기 위해 자바 관련 기술을 주로 사용하는 파일들을 위한 확장자로,
국제화와 지역화를 위한 문자열을 저장하는데 사용할 수도 있는 key=value 형식으로 작성하는 파일이다.
화면처리의 마지막이자 전자정부 표준 프레임워크 관련 글의 마지막 내용인 AJAX로 자동완성 구현하기이다.
먼저 컨트롤러단 코드 작성해주고, bean도 등록해주기.
@RequestMapping(value = "/autoCompleteSimple.do")
public ModelAndView simpleAjax(@RequestParam("keyword") String keyword) throws Exception{
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
String decode_keyword = URLDecoder.decode(keyword,"utf-8");
List<?> keywordList = search(decode_keyword);
LOGGER.debug("result >" + keywordList.toString());
modelAndView.addObject("resultList", keywordList);
return modelAndView;
}
<!-- context-servlet.xml파일에 bean 등록(jsonView 선언) -->
<bean id="jsonView" class="org.springframework.web.servlet.view.json.MappingJackson2JsonView">
<property name="contentType" value="text/html;charset=UTF-8" />
</bean>
그 다음은 화면단이 될 JSP 파일 생성해주고 여기에다가 AJAX를 위한 jquery 코드도 작성해주고 실행시켜보기.
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ko" lang="ko">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>Basic</title>
<!-- jQuery -->
<link rel="stylesheet" href="<c:url value='/css/jqueryui.css'/>"/>
<script src="<c:url value='/js/jquery.js'/>"></script>
<script src="<c:url value='/js/jqueryui.js'/>"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#keyword").autocomplete({
source: function(request, response){
$.ajax({
url:"<c:url value='/autoCompleteSimple.do'/>",
contentType: "application/x-www-form-urlencoded; charset=UTF-8",//
data: {keyword : encodeURIComponent(request.term)}, //after the input event
dataType:'json',
success: function(returnData, status){
response(returnData.resultList);
}
});
},
minLength : 1,
select: function(event, ui){
$("#keyword").val(this.value);
}
});
});
</script>
</head>
<body>
<form name="search">
<input type="text" name="keyword" id="keyword" />
</form>
</body>
</html>
input에다가 K만 입력했는데도 자동완성되어서 데이터들이 보여지는 것을 알 수 있다.
이러케 전자정부 알아보기 끝!!!!!
'Backend' 카테고리의 다른 글
스프링 DB 데이터 접근 활용 기술_02 (0) | 2024.01.06 |
---|---|
스프링 DB 데이터 접근 활용 기술_01 (1) | 2024.01.06 |
전자정부표준프레임워크_05 (0) | 2022.03.11 |
전자정부표준프레임워크_04 (0) | 2022.03.11 |
전자정부표준프레임워크_03 (0) | 2022.03.10 |