SlideShare a Scribd company logo
1 of 52
E-Government Framework
OracleJava
개발 환경 설치
• Download
프로젝트 작성
서버 설치
프로젝트 실행결과
Hello World!
프로젝트 명:helloworld
그룹아이디 명: com.oraclejava
아티팩트 명: helloworld(자동입력)
HelloWorld.java
MainApp.java
Bean Configuration file
Singleton scope
Prototype scope
Bean 정의 상속
@AspectJ 어노테이션을 이용한
AOP지원
– @AspectJ는 Java 5 어노테이션을 사용한 일
반 Java 클래스로 관점(Aspect)를 정의하는 방
식이다. @AspectJ 방식은 AspectJ 5 버전에서
소개되었으며, Spring은 2.0 버전부터 AspectJ
5 어노테이션을 지원한다. Spring AOP 실행환
경은 AspectJ 컴파일러나 직조기(Weaver)에
대한 의존성이 없이 @AspectJ 어노테이션을
지원한다.
Annotation 기반 설정
@Autowired
• 필드에 적용
Spring MVC
DispatcherServlet
ApplicationContext와
WebApplicationContext와의 관계
HandlerMapping
• BeanNameUrlHandlerMapping
– 빈 정의 태그에서 name attribute로 선언된
url과 class attribute로 정의된 Controller매핑
• RequestMappingHandlerMapping
– @MVC개발
– 기본 HandlerMapping
RequestMappingHandlerMapping
사용방법
• 선언하지 않는 방법
• <mvc:annotation-driven/>을 선언하는 방
법
• RequestMappingHandlerMapping을 직접
선언하는 방법
<mvc:annotation-driven/>의 의미
• Spring MVC의 기본 설정이 셋팅됨.
– 1. Spring 3의 Type Conversion 서비스
2. 숫자 필드에 대한 @NumberFormat 지원
3. Date, Calendar에 대한 @DateTimeFormat 지
원
4. @Controller 유효성 체크 @Valid 지원(클래스
패스에 JSR-303 연결되어 있을 경우)
5. XML 읽고 쓰기 지원 classpath JAXB 연결시
(Html Message를
@RequestBody/@ResponseBody로 연결지원)
6. JSON 읽고 쓰기 지원 Jackson (5번과 동일)
데이터 처리(ibatis)
Ibatis 프레임워크의 특징
• 추상화된 접근방식
• 코드로부터 SQL분리
• 쿼리 실행의 입출력 객체 바인딩 지원
• Dynamic SQL 지원
• 다양한 DB처리 지원
사전 준비
라이브러리 설 명 연관 라이브러리
ibatis-sqlmap-2.3.4.726.ja
r
iBATIS 라이브러리(필수)
commons-dbcp-1.2.2.jar
database connection poo
ling 지원 라이브러리(선택)
commons-logging-1.1.1.j
ar
commons 로깅(선택)
log4j-1.3alpha-8.jar log4j(선택)
oscache-2.4.jar
중앙집중 또는 분산 캐슁
지원(선택)
cglib-nodep-2.1_3.jar
Runtime Bytecode Enhan
cing 필요 시(선택)
Oracle, Mysql, SqlServer등의 JDBC 드라이버
sql-map-config.xml 설정 및 기본
Spring 설정
sql mapping xml 설정
DAO 클래스 생성
Mybatis 프레임워크 적용
• 주요 변경 사항
iBatis MyBatis 비고
com.ibatis.* org.apache.ibatis.* 패키지 구조 변경
SqlMapConfig Configration 용어변경
sqlMap mapper 용어변경
sqlMapClient sqlSession 구문대체
rowHandler resultHandler 구문대체
resultHandler SqlSessionFactory 구문대체
parameterMap, paramete
rClass
parameterType 속성 통합
resultClass resultType 용어변경
#var# #{var} 구문대체
$var$ ${var} 구문대체
<isEqual> , <isNull> <if> 구문대체
네임스페이스 방식 변경
typeAlias 위치 변경
• sqlMap쪽에서 사용하던 typeAlias가
sqlMap이 바뀐 mapper 에서 사용되지 않
고 Configration 파일에서 정의하도록 변
경되었다
Dynamic Statement 변화
• <isEqual> , <isNull> 등의 구문이 <if>로 통합되
었다.
• <if test=“userID != null”> 형태로 간단하게 사용
할 수 있다.
<dynamic> 형태로 해서 where 조건절이나 and ,
or 를 동적으로 만들던것이 <where>나 update에
서 사용할 수 있는 <set> 등으로 변경되었다.
• <select id="getUserList" resultType="User>
SELECT * FROM TR_USER <where> <if
test="isAdmin != null"> authLevel = '1' </if>
</where> </select>
전자정부프레임워크 Tag Library
• <ui:pagination/>
이름 설명 필수여부
paginationInfo
페이징리스트를 만들기 위해 필요한 데
이터. 데이터 타입은
egovframework.rte.ptl.mvc.tags.ui.pagin
ation.PaginationInfo이다.
yes
type
페이징리스트 렌더링을 담당할 클래스
의 아이디. 이 아이디는 빈설정 파일에
선언된 프로퍼티 rendererType의 key값
이다.
yes
jsFunction
페이지 번호에 걸리게 될 자바스크립트
함수 이름. 페이지 번호가 기본적인
argument로 전달된다.
yes
관련 클래스 빈 설정
페이징 JSP에 적용
컨트롤러 코딩
Ajax 지원 서비스
• 일반적으로 Ajax 기능은 javascript 언어로
개발하나, server-side 구현에 익숙한 J2EE
개발자들에게는 쉽지 않은 작업이 될 수
있다.
• Ajax 지원 서비스에서는 Ajax를 이용해 자
주 사용되는 기능을 custom tag형태로 제
공한다.
• 기능은 오픈소스 라이브러리인 AjaxTags를
이용한다.
설치 순서
ajax:autocomplete
개요
파라미터 설명 필수여부
baseUrl
자동완성기능을 위한 결과 데이터를 보내주는
server-side 액션을 위한 URL.
yes
source
추천 검색어 리스트를 보여줄 텍스트 필드 이름. 입력
필드에 추천 검색리스트를 보여준다면 target과
source를 동일하게 입력한다.
yes
target 사용자가 입력하는 텍스트 필드 이름. yes
parameters
baseUrl에 추가할 파라미터들.여러개일 경우 comma
로 구별한다.
yes
className 추천 검색리스트에 적용할 CSS 클래스이름 yes
indicator Ajax 요청중일때 보여줄 표시. no
minimumCharact
ers
Ajax 요청을 위한 최소 입력값. no
preFunction Ajax 요청이 시작되기 전에 동작하는 function 이름. no
postFunction Ajax 요청이 완료된 후에 동작하는 function 이름. no
errorFunction Ajax 요청 error시에 동작하는 function 이름. no
ajax:select
개요
파라미터 설명 필수여부
baseUrl 자동완성기능을 위한 결과 데이터를 보내주는 server-side 액션을 위한 URL. yes
source
추천 검색어 리스트를 보여줄 텍스트 필드 이름. 입력 필드에 추천 검색리스트를 보여준다면
target과 source를 동일하게 입력한다.
yes
target 사용자가 입력하는 텍스트 필드 이름. yes
parameters baseUrl에 추가할 파라미터들.여러개일 경우 comma로 구별한다. no
eventType no
executeOnLoad 응답 데이터로 select box를 구성하는 중일때 구성중인지를 별도 표시를 할지 여부.[default=false] no
defaultOptions Ajax 응답값이 없을때 보여줄 기본 리스트. comma로 구별하여 작성한다. no
preFunction Ajax 요청이 시작되기 전에 동작하는 function 이름. no
postFunction Ajax 요청이 완료된 후에 동작하는 function 이름. no
errorFunction Ajax 요청 error시에 동작하는 function 이름. no
parser 응답 데이터에 대한 parser.[default=ResponseHtmlParser] no
ajax:tabPanel
개요
파라미터 설명 필수여부
id tabPanel의 ID yes
preFunction
Ajax 요청이 시작되기 전
에 동작하는 function 이
름.
no
postFunction
Ajax 요청이 완료된 후에
동작하는 function 이름.
no
errorFunction
Ajax 요청 error시에 동작
하는 function 이름.
no
parser
응답 데이터에 대한 parse
r.[default=ResponseHtmlP
arser]
no
태그 라이브러리 선언
• <%@ taglib prefix="ajax"
ri="http://ajaxtags.sourceforge.net/tags/aj
axtags" %>
Javascript, CSS 선언
<script type="text/javascript"
src="<%=request.getContextPath()%>/ajaxtags/js/prototype.js"></script>
<script type="text/javascript"
src="<%=request.getContextPath()%>/ajaxtags/js/scriptaculous/scriptaculous.
js"></script>
<script type="text/javascript"
src="<%=request.getContextPath()%>/ajaxtags/js/overlibmws/overlibmws.js"
></script>
<script type="text/javascript"
src="<%=request.getContextPath()%>/ajaxtags/js/ajaxtags.js"></script>
<link type="text/css" rel="stylesheet"
href="<%=request.getContextPath()%>/ajaxtags/css/ajaxtags.css" />
<link type="text/css" rel="stylesheet"
href="<%=request.getContextPath()%>/ajaxtags/css/displaytag.css" />
Controller
List<Department> deptList =
departmentService.getDepartmentList(param);
AjaxXmlBuilder ajaxXmlBuilder = new AjaxXmlBuilder();
for (Iterator iter = deptList.iterator(); iter.hasNext();) {
Department dept = (Department) iter.next();
ajaxXmlBuilder.addItem(dept.getDeptname(),
dept.getDeptid());
}
model.addObject("ajaxXml",ajaxXmlBuilder.toString());
View
package com.easycompany.view;
import java.io.PrintWriter;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.view.AbstractView;
public class AjaxXmlView extends AbstractView {
@Override
protected void renderMergedOutputModel(Map model,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
response.setContentType("text/xml");
response.setHeader("Cache-Control", "no-cache");
response.setCharacterEncoding("UTF-8");
PrintWriter writer = response.getWriter();
writer.write((String) model.get("ajaxXml")); //Model Attribute 이름은 공통으로 사
용하는 것으로...
writer.close();
}
}
UX 처리
• 오픈소스인 jQuery Mobile사용
• html5, CSS3, javascript를 제공
– HTML5: 모바일 웹 페이지 구성 시 사용 할
수 있는 마크업 언어로서 모바일 특화 태그 및
디바이스 API를 제공한다.
– CSS3: 모바일 기기 및 브라우저에 따라 적합
한 컴포넌트가 보여지는 기능을 제공한다
– JavaScript Module App Framework: UX/UI
controller component의 효율성을 보장하는
javascript 밑 Json 구조를 제공한다.
모바일 페이지 헤더
<!DOCTYPE html>
<html>
<head>
<title>eGovFrame</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-
scale=1.0, user-scalable=no">
<link rel="stylesheet" href="/css/egovframework/mbl/cmm/jquery.mobile-1.3.2.css"/>
<link rel="stylesheet" href="/css/egovframework/mbl/cmm/EgovMobile-1.3.2.css" />
<script src="/js/egovframework/mbl/cmm/jquery-1.9.1.min.js"></script>
<script src="/js/egovframework/mbl/cmm/jquery.mobile-1.3.2.min.js"></script>
<script src="/js/egovframework/mbl/cmm/EgovMobile-1.3.2.js"></script>
</head>
<body>
...
</body>
</html>
모바일 Page Body
<div data-role=“page”>
<div data-role=“header”>
</div>
<div data-role=“content”>
</div>
<div data-role=“footer”>
</div>
</div>
모바일 가이드 샘플
• http://m.egovframe.go.kr/mguide3.5/
모바일 기본 활용 구조
HTML5 <Tag> 패턴인 ‘data-role’ 속성에 적용된
값에 따라 Page, Header, Content, Footer 영역으
로 구분된다.
모바일 샘플 작성

More Related Content

What's hot

#12.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_구로IT학원, 국비지원학원,재직자/실업자교육학원,스...
#12.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_구로IT학원, 국비지원학원,재직자/실업자교육학원,스...#12.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_구로IT학원, 국비지원학원,재직자/실업자교육학원,스...
#12.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_구로IT학원, 국비지원학원,재직자/실업자교육학원,스...탑크리에듀(구로디지털단지역3번출구 2분거리)
 
[자바학원/스프링교육학원/마이바티스학원추천/구로IT학원_탑크리에듀]#7.스프링프레임워크 & 마이바티스 (Spring Framework, M...
[자바학원/스프링교육학원/마이바티스학원추천/구로IT학원_탑크리에듀]#7.스프링프레임워크 & 마이바티스 (Spring Framework, M...[자바학원/스프링교육학원/마이바티스학원추천/구로IT학원_탑크리에듀]#7.스프링프레임워크 & 마이바티스 (Spring Framework, M...
[자바학원/스프링교육학원/마이바티스학원추천/구로IT학원_탑크리에듀]#7.스프링프레임워크 & 마이바티스 (Spring Framework, M...탑크리에듀(구로디지털단지역3번출구 2분거리)
 
[국비지원교육/재직자/실업자환급교육/IT실무학원추천/스프링교육추천]#5.스프링프레임워크 & 마이바티스 (Spring Framework, M...
[국비지원교육/재직자/실업자환급교육/IT실무학원추천/스프링교육추천]#5.스프링프레임워크 & 마이바티스 (Spring Framework, M...[국비지원교육/재직자/실업자환급교육/IT실무학원추천/스프링교육추천]#5.스프링프레임워크 & 마이바티스 (Spring Framework, M...
[국비지원교육/재직자/실업자환급교육/IT실무학원추천/스프링교육추천]#5.스프링프레임워크 & 마이바티스 (Spring Framework, M...탑크리에듀(구로디지털단지역3번출구 2분거리)
 
#16.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
#16.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...#16.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
#16.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...탑크리에듀(구로디지털단지역3번출구 2분거리)
 
#20.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
#20.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...#20.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
#20.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...탑크리에듀(구로디지털단지역3번출구 2분거리)
 
#21.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
#21.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...#21.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
#21.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...탑크리에듀(구로디지털단지역3번출구 2분거리)
 
(스프링교육/마이바티스교육학원추천_탑크리에듀)#10.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)
(스프링교육/마이바티스교육학원추천_탑크리에듀)#10.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)(스프링교육/마이바티스교육학원추천_탑크리에듀)#10.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)
(스프링교육/마이바티스교육학원추천_탑크리에듀)#10.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)탑크리에듀(구로디지털단지역3번출구 2분거리)
 
[#9.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)]_재직자환급교육/실업자환급교육/구로IT학원/스프링교...
[#9.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)]_재직자환급교육/실업자환급교육/구로IT학원/스프링교...[#9.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)]_재직자환급교육/실업자환급교육/구로IT학원/스프링교...
[#9.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)]_재직자환급교육/실업자환급교육/구로IT학원/스프링교...탑크리에듀(구로디지털단지역3번출구 2분거리)
 
(국비지원/실업자교육/재직자교육/스프링교육/마이바티스교육추천)#13.스프링프레임워크 & 마이바티스 (Spring Framework, MyB...
(국비지원/실업자교육/재직자교육/스프링교육/마이바티스교육추천)#13.스프링프레임워크 & 마이바티스 (Spring Framework, MyB...(국비지원/실업자교육/재직자교육/스프링교육/마이바티스교육추천)#13.스프링프레임워크 & 마이바티스 (Spring Framework, MyB...
(국비지원/실업자교육/재직자교육/스프링교육/마이바티스교육추천)#13.스프링프레임워크 & 마이바티스 (Spring Framework, MyB...탑크리에듀(구로디지털단지역3번출구 2분거리)
 
(자바교육/스프링교육/스프링프레임워크교육/마이바티스교육추천)#2.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)
(자바교육/스프링교육/스프링프레임워크교육/마이바티스교육추천)#2.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)(자바교육/스프링교육/스프링프레임워크교육/마이바티스교육추천)#2.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)
(자바교육/스프링교육/스프링프레임워크교육/마이바티스교육추천)#2.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)탑크리에듀(구로디지털단지역3번출구 2분거리)
 
(IT실무교육/국비지원교육/자바/스프링교육추천)#15.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)
(IT실무교육/국비지원교육/자바/스프링교육추천)#15.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)(IT실무교육/국비지원교육/자바/스프링교육추천)#15.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)
(IT실무교육/국비지원교육/자바/스프링교육추천)#15.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)탑크리에듀(구로디지털단지역3번출구 2분거리)
 
01.실행환경 실습교재(공통기반)
01.실행환경 실습교재(공통기반)01.실행환경 실습교재(공통기반)
01.실행환경 실습교재(공통기반)Hankyo
 
#2.SQL초보에서 Schema Objects까지_재직자/근로자환급/국비지원교육/IT실무교육/SQL기초교육/구로IT학원추천
#2.SQL초보에서 Schema Objects까지_재직자/근로자환급/국비지원교육/IT실무교육/SQL기초교육/구로IT학원추천#2.SQL초보에서 Schema Objects까지_재직자/근로자환급/국비지원교육/IT실무교육/SQL기초교육/구로IT학원추천
#2.SQL초보에서 Schema Objects까지_재직자/근로자환급/국비지원교육/IT실무교육/SQL기초교육/구로IT학원추천탑크리에듀(구로디지털단지역3번출구 2분거리)
 
#17.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
#17.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...#17.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
#17.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...탑크리에듀(구로디지털단지역3번출구 2분거리)
 
[오픈소스컨설팅]MyBatis Basic
[오픈소스컨설팅]MyBatis Basic[오픈소스컨설팅]MyBatis Basic
[오픈소스컨설팅]MyBatis BasicJi-Woong Choi
 

What's hot (20)

#12.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_구로IT학원, 국비지원학원,재직자/실업자교육학원,스...
#12.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_구로IT학원, 국비지원학원,재직자/실업자교육학원,스...#12.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_구로IT학원, 국비지원학원,재직자/실업자교육학원,스...
#12.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_구로IT학원, 국비지원학원,재직자/실업자교육학원,스...
 
(Spring Data JPA)게시판 리스트보기_오라클, 스프링부트,페이지나누기
(Spring Data JPA)게시판 리스트보기_오라클, 스프링부트,페이지나누기(Spring Data JPA)게시판 리스트보기_오라클, 스프링부트,페이지나누기
(Spring Data JPA)게시판 리스트보기_오라클, 스프링부트,페이지나누기
 
[자바학원/스프링교육학원/마이바티스학원추천/구로IT학원_탑크리에듀]#7.스프링프레임워크 & 마이바티스 (Spring Framework, M...
[자바학원/스프링교육학원/마이바티스학원추천/구로IT학원_탑크리에듀]#7.스프링프레임워크 & 마이바티스 (Spring Framework, M...[자바학원/스프링교육학원/마이바티스학원추천/구로IT학원_탑크리에듀]#7.스프링프레임워크 & 마이바티스 (Spring Framework, M...
[자바학원/스프링교육학원/마이바티스학원추천/구로IT학원_탑크리에듀]#7.스프링프레임워크 & 마이바티스 (Spring Framework, M...
 
[국비지원교육/재직자/실업자환급교육/IT실무학원추천/스프링교육추천]#5.스프링프레임워크 & 마이바티스 (Spring Framework, M...
[국비지원교육/재직자/실업자환급교육/IT실무학원추천/스프링교육추천]#5.스프링프레임워크 & 마이바티스 (Spring Framework, M...[국비지원교육/재직자/실업자환급교육/IT실무학원추천/스프링교육추천]#5.스프링프레임워크 & 마이바티스 (Spring Framework, M...
[국비지원교육/재직자/실업자환급교육/IT실무학원추천/스프링교육추천]#5.스프링프레임워크 & 마이바티스 (Spring Framework, M...
 
#16.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
#16.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...#16.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
#16.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
 
#20.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
#20.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...#20.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
#20.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
 
#21.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
#21.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...#21.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
#21.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
 
(스프링교육/마이바티스교육학원추천_탑크리에듀)#10.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)
(스프링교육/마이바티스교육학원추천_탑크리에듀)#10.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)(스프링교육/마이바티스교육학원추천_탑크리에듀)#10.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)
(스프링교육/마이바티스교육학원추천_탑크리에듀)#10.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)
 
[#9.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)]_재직자환급교육/실업자환급교육/구로IT학원/스프링교...
[#9.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)]_재직자환급교육/실업자환급교육/구로IT학원/스프링교...[#9.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)]_재직자환급교육/실업자환급교육/구로IT학원/스프링교...
[#9.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)]_재직자환급교육/실업자환급교육/구로IT학원/스프링교...
 
(국비지원/실업자교육/재직자교육/스프링교육/마이바티스교육추천)#13.스프링프레임워크 & 마이바티스 (Spring Framework, MyB...
(국비지원/실업자교육/재직자교육/스프링교육/마이바티스교육추천)#13.스프링프레임워크 & 마이바티스 (Spring Framework, MyB...(국비지원/실업자교육/재직자교육/스프링교육/마이바티스교육추천)#13.스프링프레임워크 & 마이바티스 (Spring Framework, MyB...
(국비지원/실업자교육/재직자교육/스프링교육/마이바티스교육추천)#13.스프링프레임워크 & 마이바티스 (Spring Framework, MyB...
 
(자바교육/스프링교육/스프링프레임워크교육/마이바티스교육추천)#2.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)
(자바교육/스프링교육/스프링프레임워크교육/마이바티스교육추천)#2.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)(자바교육/스프링교육/스프링프레임워크교육/마이바티스교육추천)#2.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)
(자바교육/스프링교육/스프링프레임워크교육/마이바티스교육추천)#2.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)
 
(IT실무교육/국비지원교육/자바/스프링교육추천)#15.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)
(IT실무교육/국비지원교육/자바/스프링교육추천)#15.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)(IT실무교육/국비지원교육/자바/스프링교육추천)#15.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)
(IT실무교육/국비지원교육/자바/스프링교육추천)#15.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)
 
자바모델 클래스에 날개를달자_롬복(Lombok)
자바모델 클래스에 날개를달자_롬복(Lombok)자바모델 클래스에 날개를달자_롬복(Lombok)
자바모델 클래스에 날개를달자_롬복(Lombok)
 
(스프링JDBC와 Spring Data JPA비교)Spring JDBC와 JPA를 간단한 CRUD 예제로 만들면서 비교해보자.
(스프링JDBC와 Spring Data JPA비교)Spring JDBC와 JPA를 간단한 CRUD 예제로  만들면서 비교해보자.(스프링JDBC와 Spring Data JPA비교)Spring JDBC와 JPA를 간단한 CRUD 예제로  만들면서 비교해보자.
(스프링JDBC와 Spring Data JPA비교)Spring JDBC와 JPA를 간단한 CRUD 예제로 만들면서 비교해보자.
 
(스프링초보자를위한)스프링 컨텍스트 설정과 관련된 어노테이션
(스프링초보자를위한)스프링 컨텍스트 설정과 관련된 어노테이션(스프링초보자를위한)스프링 컨텍스트 설정과 관련된 어노테이션
(스프링초보자를위한)스프링 컨텍스트 설정과 관련된 어노테이션
 
01.실행환경 실습교재(공통기반)
01.실행환경 실습교재(공통기반)01.실행환경 실습교재(공통기반)
01.실행환경 실습교재(공통기반)
 
5.Spring IoC&DI(DI와 관련된 어노테이션)
5.Spring IoC&DI(DI와 관련된 어노테이션)5.Spring IoC&DI(DI와 관련된 어노테이션)
5.Spring IoC&DI(DI와 관련된 어노테이션)
 
#2.SQL초보에서 Schema Objects까지_재직자/근로자환급/국비지원교육/IT실무교육/SQL기초교육/구로IT학원추천
#2.SQL초보에서 Schema Objects까지_재직자/근로자환급/국비지원교육/IT실무교육/SQL기초교육/구로IT학원추천#2.SQL초보에서 Schema Objects까지_재직자/근로자환급/국비지원교육/IT실무교육/SQL기초교육/구로IT학원추천
#2.SQL초보에서 Schema Objects까지_재직자/근로자환급/국비지원교육/IT실무교육/SQL기초교육/구로IT학원추천
 
#17.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
#17.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...#17.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
#17.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
 
[오픈소스컨설팅]MyBatis Basic
[오픈소스컨설팅]MyBatis Basic[오픈소스컨설팅]MyBatis Basic
[오픈소스컨설팅]MyBatis Basic
 

Similar to E government framework

Spring boot 공작소(1-4장)
Spring boot 공작소(1-4장)Spring boot 공작소(1-4장)
Spring boot 공작소(1-4장)Choonghyun Yang
 
Spring MVC
Spring MVCSpring MVC
Spring MVCymtech
 
Jstl_GETCHA_HANJUNG
Jstl_GETCHA_HANJUNGJstl_GETCHA_HANJUNG
Jstl_GETCHA_HANJUNGJung Han
 
Java 8 & Beyond
Java 8 & BeyondJava 8 & Beyond
Java 8 & BeyondJay Lee
 
Scala, Spring-Boot, JPA의 불편하면서도 즐거운 동거
Scala, Spring-Boot, JPA의 불편하면서도 즐거운 동거Scala, Spring-Boot, JPA의 불편하면서도 즐거운 동거
Scala, Spring-Boot, JPA의 불편하면서도 즐거운 동거Javajigi Jaesung
 
02.실행환경 실습교재(데이터처리)
02.실행환경 실습교재(데이터처리)02.실행환경 실습교재(데이터처리)
02.실행환경 실습교재(데이터처리)Hankyo
 
Cappuccino fundamental
Cappuccino fundamentalCappuccino fundamental
Cappuccino fundamentalJeongHun Byeon
 
03.실행환경 교육교재(배치처리)
03.실행환경 교육교재(배치처리)03.실행환경 교육교재(배치처리)
03.실행환경 교육교재(배치처리)Hankyo
 
PHP 7의 새로운 특징과 기능 요약
PHP 7의 새로운 특징과 기능 요약PHP 7의 새로운 특징과 기능 요약
PHP 7의 새로운 특징과 기능 요약정아 손
 
Spring test mvc 발표자료
Spring test mvc 발표자료Spring test mvc 발표자료
Spring test mvc 발표자료수홍 이
 
자바 웹 개발 시작하기 (5주차 : 스프링 프래임워크)
자바 웹 개발 시작하기 (5주차 : 스프링 프래임워크)자바 웹 개발 시작하기 (5주차 : 스프링 프래임워크)
자바 웹 개발 시작하기 (5주차 : 스프링 프래임워크)DK Lee
 
[스프링 스터디 3일차] @MVC
[스프링 스터디 3일차] @MVC[스프링 스터디 3일차] @MVC
[스프링 스터디 3일차] @MVCAnselmKim
 
영속성 컨텍스트로 보는 JPA
영속성 컨텍스트로 보는 JPA영속성 컨텍스트로 보는 JPA
영속성 컨텍스트로 보는 JPA경원 이
 
[2018] MyBatis에서 JPA로
[2018] MyBatis에서 JPA로[2018] MyBatis에서 JPA로
[2018] MyBatis에서 JPA로NHN FORWARD
 
Nodejs, PhantomJS, casperJs, YSlow, expressjs
Nodejs, PhantomJS, casperJs, YSlow, expressjsNodejs, PhantomJS, casperJs, YSlow, expressjs
Nodejs, PhantomJS, casperJs, YSlow, expressjs기동 이
 

Similar to E government framework (20)

Spring boot 공작소(1-4장)
Spring boot 공작소(1-4장)Spring boot 공작소(1-4장)
Spring boot 공작소(1-4장)
 
Springmvc
SpringmvcSpringmvc
Springmvc
 
Spring MVC
Spring MVCSpring MVC
Spring MVC
 
4-3. jquery
4-3. jquery4-3. jquery
4-3. jquery
 
Jstl_GETCHA_HANJUNG
Jstl_GETCHA_HANJUNGJstl_GETCHA_HANJUNG
Jstl_GETCHA_HANJUNG
 
4-1. javascript
4-1. javascript4-1. javascript
4-1. javascript
 
Java 8 & Beyond
Java 8 & BeyondJava 8 & Beyond
Java 8 & Beyond
 
Scala, Spring-Boot, JPA의 불편하면서도 즐거운 동거
Scala, Spring-Boot, JPA의 불편하면서도 즐거운 동거Scala, Spring-Boot, JPA의 불편하면서도 즐거운 동거
Scala, Spring-Boot, JPA의 불편하면서도 즐거운 동거
 
02.실행환경 실습교재(데이터처리)
02.실행환경 실습교재(데이터처리)02.실행환경 실습교재(데이터처리)
02.실행환경 실습교재(데이터처리)
 
Cappuccino fundamental
Cappuccino fundamentalCappuccino fundamental
Cappuccino fundamental
 
03.실행환경 교육교재(배치처리)
03.실행환경 교육교재(배치처리)03.실행환경 교육교재(배치처리)
03.실행환경 교육교재(배치처리)
 
Eclipse RCP 1/2
Eclipse RCP 1/2Eclipse RCP 1/2
Eclipse RCP 1/2
 
PHP 7의 새로운 특징과 기능 요약
PHP 7의 새로운 특징과 기능 요약PHP 7의 새로운 특징과 기능 요약
PHP 7의 새로운 특징과 기능 요약
 
Spring test mvc 발표자료
Spring test mvc 발표자료Spring test mvc 발표자료
Spring test mvc 발표자료
 
자바 웹 개발 시작하기 (5주차 : 스프링 프래임워크)
자바 웹 개발 시작하기 (5주차 : 스프링 프래임워크)자바 웹 개발 시작하기 (5주차 : 스프링 프래임워크)
자바 웹 개발 시작하기 (5주차 : 스프링 프래임워크)
 
[스프링 스터디 3일차] @MVC
[스프링 스터디 3일차] @MVC[스프링 스터디 3일차] @MVC
[스프링 스터디 3일차] @MVC
 
영속성 컨텍스트로 보는 JPA
영속성 컨텍스트로 보는 JPA영속성 컨텍스트로 보는 JPA
영속성 컨텍스트로 보는 JPA
 
[2018] MyBatis에서 JPA로
[2018] MyBatis에서 JPA로[2018] MyBatis에서 JPA로
[2018] MyBatis에서 JPA로
 
Nodejs, PhantomJS, casperJs, YSlow, expressjs
Nodejs, PhantomJS, casperJs, YSlow, expressjsNodejs, PhantomJS, casperJs, YSlow, expressjs
Nodejs, PhantomJS, casperJs, YSlow, expressjs
 
Cygnus unit test
Cygnus unit testCygnus unit test
Cygnus unit test
 

More from HyungKuIm

Jboss seminar
Jboss seminarJboss seminar
Jboss seminarHyungKuIm
 
Xamarin android
Xamarin androidXamarin android
Xamarin androidHyungKuIm
 
Node.js and react
Node.js and reactNode.js and react
Node.js and reactHyungKuIm
 
Node.js and angular js
Node.js and angular jsNode.js and angular js
Node.js and angular jsHyungKuIm
 

More from HyungKuIm (9)

Jboss seminar
Jboss seminarJboss seminar
Jboss seminar
 
Flex design
Flex designFlex design
Flex design
 
Grid layout
Grid layoutGrid layout
Grid layout
 
Nexacro
NexacroNexacro
Nexacro
 
Xamarin android
Xamarin androidXamarin android
Xamarin android
 
Node.js and react
Node.js and reactNode.js and react
Node.js and react
 
Node.js and angular js
Node.js and angular jsNode.js and angular js
Node.js and angular js
 
Swift2
Swift2Swift2
Swift2
 
Vue js
Vue jsVue js
Vue js
 

E government framework

  • 6. Hello World! 프로젝트 명:helloworld 그룹아이디 명: com.oraclejava 아티팩트 명: helloworld(자동입력)
  • 13. @AspectJ 어노테이션을 이용한 AOP지원 – @AspectJ는 Java 5 어노테이션을 사용한 일 반 Java 클래스로 관점(Aspect)를 정의하는 방 식이다. @AspectJ 방식은 AspectJ 5 버전에서 소개되었으며, Spring은 2.0 버전부터 AspectJ 5 어노테이션을 지원한다. Spring AOP 실행환 경은 AspectJ 컴파일러나 직조기(Weaver)에 대한 의존성이 없이 @AspectJ 어노테이션을 지원한다.
  • 14.
  • 20. HandlerMapping • BeanNameUrlHandlerMapping – 빈 정의 태그에서 name attribute로 선언된 url과 class attribute로 정의된 Controller매핑 • RequestMappingHandlerMapping – @MVC개발 – 기본 HandlerMapping
  • 21. RequestMappingHandlerMapping 사용방법 • 선언하지 않는 방법 • <mvc:annotation-driven/>을 선언하는 방 법 • RequestMappingHandlerMapping을 직접 선언하는 방법
  • 22. <mvc:annotation-driven/>의 의미 • Spring MVC의 기본 설정이 셋팅됨. – 1. Spring 3의 Type Conversion 서비스 2. 숫자 필드에 대한 @NumberFormat 지원 3. Date, Calendar에 대한 @DateTimeFormat 지 원 4. @Controller 유효성 체크 @Valid 지원(클래스 패스에 JSR-303 연결되어 있을 경우) 5. XML 읽고 쓰기 지원 classpath JAXB 연결시 (Html Message를 @RequestBody/@ResponseBody로 연결지원) 6. JSON 읽고 쓰기 지원 Jackson (5번과 동일)
  • 24. Ibatis 프레임워크의 특징 • 추상화된 접근방식 • 코드로부터 SQL분리 • 쿼리 실행의 입출력 객체 바인딩 지원 • Dynamic SQL 지원 • 다양한 DB처리 지원
  • 25. 사전 준비 라이브러리 설 명 연관 라이브러리 ibatis-sqlmap-2.3.4.726.ja r iBATIS 라이브러리(필수) commons-dbcp-1.2.2.jar database connection poo ling 지원 라이브러리(선택) commons-logging-1.1.1.j ar commons 로깅(선택) log4j-1.3alpha-8.jar log4j(선택) oscache-2.4.jar 중앙집중 또는 분산 캐슁 지원(선택) cglib-nodep-2.1_3.jar Runtime Bytecode Enhan cing 필요 시(선택) Oracle, Mysql, SqlServer등의 JDBC 드라이버
  • 26. sql-map-config.xml 설정 및 기본 Spring 설정
  • 27. sql mapping xml 설정
  • 29. Mybatis 프레임워크 적용 • 주요 변경 사항 iBatis MyBatis 비고 com.ibatis.* org.apache.ibatis.* 패키지 구조 변경 SqlMapConfig Configration 용어변경 sqlMap mapper 용어변경 sqlMapClient sqlSession 구문대체 rowHandler resultHandler 구문대체 resultHandler SqlSessionFactory 구문대체 parameterMap, paramete rClass parameterType 속성 통합 resultClass resultType 용어변경 #var# #{var} 구문대체 $var$ ${var} 구문대체 <isEqual> , <isNull> <if> 구문대체
  • 31. typeAlias 위치 변경 • sqlMap쪽에서 사용하던 typeAlias가 sqlMap이 바뀐 mapper 에서 사용되지 않 고 Configration 파일에서 정의하도록 변 경되었다
  • 32. Dynamic Statement 변화 • <isEqual> , <isNull> 등의 구문이 <if>로 통합되 었다. • <if test=“userID != null”> 형태로 간단하게 사용 할 수 있다. <dynamic> 형태로 해서 where 조건절이나 and , or 를 동적으로 만들던것이 <where>나 update에 서 사용할 수 있는 <set> 등으로 변경되었다. • <select id="getUserList" resultType="User> SELECT * FROM TR_USER <where> <if test="isAdmin != null"> authLevel = '1' </if> </where> </select>
  • 33. 전자정부프레임워크 Tag Library • <ui:pagination/> 이름 설명 필수여부 paginationInfo 페이징리스트를 만들기 위해 필요한 데 이터. 데이터 타입은 egovframework.rte.ptl.mvc.tags.ui.pagin ation.PaginationInfo이다. yes type 페이징리스트 렌더링을 담당할 클래스 의 아이디. 이 아이디는 빈설정 파일에 선언된 프로퍼티 rendererType의 key값 이다. yes jsFunction 페이지 번호에 걸리게 될 자바스크립트 함수 이름. 페이지 번호가 기본적인 argument로 전달된다. yes
  • 37. Ajax 지원 서비스 • 일반적으로 Ajax 기능은 javascript 언어로 개발하나, server-side 구현에 익숙한 J2EE 개발자들에게는 쉽지 않은 작업이 될 수 있다. • Ajax 지원 서비스에서는 Ajax를 이용해 자 주 사용되는 기능을 custom tag형태로 제 공한다. • 기능은 오픈소스 라이브러리인 AjaxTags를 이용한다.
  • 39. ajax:autocomplete 개요 파라미터 설명 필수여부 baseUrl 자동완성기능을 위한 결과 데이터를 보내주는 server-side 액션을 위한 URL. yes source 추천 검색어 리스트를 보여줄 텍스트 필드 이름. 입력 필드에 추천 검색리스트를 보여준다면 target과 source를 동일하게 입력한다. yes target 사용자가 입력하는 텍스트 필드 이름. yes parameters baseUrl에 추가할 파라미터들.여러개일 경우 comma 로 구별한다. yes className 추천 검색리스트에 적용할 CSS 클래스이름 yes indicator Ajax 요청중일때 보여줄 표시. no minimumCharact ers Ajax 요청을 위한 최소 입력값. no preFunction Ajax 요청이 시작되기 전에 동작하는 function 이름. no postFunction Ajax 요청이 완료된 후에 동작하는 function 이름. no errorFunction Ajax 요청 error시에 동작하는 function 이름. no
  • 40. ajax:select 개요 파라미터 설명 필수여부 baseUrl 자동완성기능을 위한 결과 데이터를 보내주는 server-side 액션을 위한 URL. yes source 추천 검색어 리스트를 보여줄 텍스트 필드 이름. 입력 필드에 추천 검색리스트를 보여준다면 target과 source를 동일하게 입력한다. yes target 사용자가 입력하는 텍스트 필드 이름. yes parameters baseUrl에 추가할 파라미터들.여러개일 경우 comma로 구별한다. no eventType no executeOnLoad 응답 데이터로 select box를 구성하는 중일때 구성중인지를 별도 표시를 할지 여부.[default=false] no defaultOptions Ajax 응답값이 없을때 보여줄 기본 리스트. comma로 구별하여 작성한다. no preFunction Ajax 요청이 시작되기 전에 동작하는 function 이름. no postFunction Ajax 요청이 완료된 후에 동작하는 function 이름. no errorFunction Ajax 요청 error시에 동작하는 function 이름. no parser 응답 데이터에 대한 parser.[default=ResponseHtmlParser] no
  • 41. ajax:tabPanel 개요 파라미터 설명 필수여부 id tabPanel의 ID yes preFunction Ajax 요청이 시작되기 전 에 동작하는 function 이 름. no postFunction Ajax 요청이 완료된 후에 동작하는 function 이름. no errorFunction Ajax 요청 error시에 동작 하는 function 이름. no parser 응답 데이터에 대한 parse r.[default=ResponseHtmlP arser] no
  • 42. 태그 라이브러리 선언 • <%@ taglib prefix="ajax" ri="http://ajaxtags.sourceforge.net/tags/aj axtags" %>
  • 43. Javascript, CSS 선언 <script type="text/javascript" src="<%=request.getContextPath()%>/ajaxtags/js/prototype.js"></script> <script type="text/javascript" src="<%=request.getContextPath()%>/ajaxtags/js/scriptaculous/scriptaculous. js"></script> <script type="text/javascript" src="<%=request.getContextPath()%>/ajaxtags/js/overlibmws/overlibmws.js" ></script> <script type="text/javascript" src="<%=request.getContextPath()%>/ajaxtags/js/ajaxtags.js"></script> <link type="text/css" rel="stylesheet" href="<%=request.getContextPath()%>/ajaxtags/css/ajaxtags.css" /> <link type="text/css" rel="stylesheet" href="<%=request.getContextPath()%>/ajaxtags/css/displaytag.css" />
  • 44. Controller List<Department> deptList = departmentService.getDepartmentList(param); AjaxXmlBuilder ajaxXmlBuilder = new AjaxXmlBuilder(); for (Iterator iter = deptList.iterator(); iter.hasNext();) { Department dept = (Department) iter.next(); ajaxXmlBuilder.addItem(dept.getDeptname(), dept.getDeptid()); } model.addObject("ajaxXml",ajaxXmlBuilder.toString());
  • 45. View package com.easycompany.view; import java.io.PrintWriter; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.view.AbstractView; public class AjaxXmlView extends AbstractView { @Override protected void renderMergedOutputModel(Map model, HttpServletRequest request, HttpServletResponse response) throws Exception { response.setContentType("text/xml"); response.setHeader("Cache-Control", "no-cache"); response.setCharacterEncoding("UTF-8"); PrintWriter writer = response.getWriter(); writer.write((String) model.get("ajaxXml")); //Model Attribute 이름은 공통으로 사 용하는 것으로... writer.close(); } }
  • 46. UX 처리 • 오픈소스인 jQuery Mobile사용 • html5, CSS3, javascript를 제공 – HTML5: 모바일 웹 페이지 구성 시 사용 할 수 있는 마크업 언어로서 모바일 특화 태그 및 디바이스 API를 제공한다. – CSS3: 모바일 기기 및 브라우저에 따라 적합 한 컴포넌트가 보여지는 기능을 제공한다 – JavaScript Module App Framework: UX/UI controller component의 효율성을 보장하는 javascript 밑 Json 구조를 제공한다.
  • 47. 모바일 페이지 헤더 <!DOCTYPE html> <html> <head> <title>eGovFrame</title> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum- scale=1.0, user-scalable=no"> <link rel="stylesheet" href="/css/egovframework/mbl/cmm/jquery.mobile-1.3.2.css"/> <link rel="stylesheet" href="/css/egovframework/mbl/cmm/EgovMobile-1.3.2.css" /> <script src="/js/egovframework/mbl/cmm/jquery-1.9.1.min.js"></script> <script src="/js/egovframework/mbl/cmm/jquery.mobile-1.3.2.min.js"></script> <script src="/js/egovframework/mbl/cmm/EgovMobile-1.3.2.js"></script> </head> <body> ... </body> </html>
  • 48. 모바일 Page Body <div data-role=“page”> <div data-role=“header”> </div> <div data-role=“content”> </div> <div data-role=“footer”> </div> </div>
  • 49. 모바일 가이드 샘플 • http://m.egovframe.go.kr/mguide3.5/
  • 51. HTML5 <Tag> 패턴인 ‘data-role’ 속성에 적용된 값에 따라 Page, Header, Content, Footer 영역으 로 구분된다.