일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 오라클
- HTTP
- SVN
- 티베로
- String Function and Operators
- Oracle
- 윈도우
- 전자정부 표준프레임워크
- Sring Functions and Operators
- MySQL
- String Functions and Date Operators
- Date and Time Functions
- Tibero
- String Functions and Operators
- 방화벽
- Data and Time Functions
- Date and Time Function
- 전자정부표준프레임워크
- Today
- Total
웹이야기
전자정부표준프레임워크에 Tiles 적용 본문
위 블로그를 가장 많이 참조하였다.
먼저 Controller 를 생성해서 타일즈를 적용할 URL을 하나 만들어두었다.
-
@RequestMapping("/aaa/bbb/ccc.do")
-
-
public String sssss() throws Exception{
- 블라블라
- return "abc/aaa/bbb/ccc";
- }
타일즈 적용하기
1. Tiles 라이브러리 추가
pom.xml 에 아래 내용을 추가한다.
mvnrepository 에서 버전을 확인하고 아래 버전을 선택하였다.
-
<!-- https://mvnrepository.com/artifact/org.apache.tiles/tiles-core -->
-
<dependency>
-
<groupId>org.apache.tiles</groupId>
-
<artifactId>tiles-core</artifactId>
-
<version>3.0.8</version>
-
</dependency>
-
-
<!-- https://mvnrepository.com/artifact/org.apache.tiles/tiles-servlet -->
-
<dependency>
-
<groupId>org.apache.tiles</groupId>
-
<artifactId>tiles-servlet</artifactId>
-
<version>3.0.8</version>
-
</dependency>
-
-
<!-- https://mvnrepository.com/artifact/org.apache.tiles/tiles-jsp -->
-
<dependency>
-
<groupId>org.apache.tiles</groupId>
-
<artifactId>tiles-jsp</artifactId>
-
<version>3.0.8</version>
-
</dependency>
2. egov-com-servlet.xml 수정
- 아래와 같이 추가하였다.
- tilesConfigurer 하위에 아래와 같이 여러개의 타일즈 정의 파일들을 사용할 수 있으며, 여기서는 일단 하나만 남겨놓고 주석처리한다. 잘 돌아가는지 확인하는 것이 목적이므로.
- 아래 정의된 경로는 임의의 경로이므로 경로나 파일명 변경이 가능하다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
<!-- Tiles 설정 -->
<bean id="tilesViewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.tiles3.TilesView" />
<property name="order" value="1" />
</bean>
<!-- Tiles Configurer -->
<bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles3.TilesConfigurer">
<property name="definitions">
<list>
<value>/WEB-INF/config/egovframework/tiles/common-def.xml</value>
<!-- <value>/WEB-INF/config/egovframework/tiles/tiles-def.xml</value> -->
</list>
</property>
</bean>
<!-- //Tiles 설정 -->
|
cs |
- 아래 내용중 p:order="1" 을 p:order="2" 로 변경한다.
1
2
3
4
5
|
<bean class="org.springframework.web.servlet.view.UrlBasedViewResolver" p:order="2"
p:viewClass="org.springframework.web.servlet.view.JstlView"
p:prefix="/WEB-INF/jsp/" p:suffix=".jsp"/>
|
cs |
3. common-def.xml 파일 생성
- egov-com-servlet.xml 에서 타일즈파일로 지정한 파일을 생성한다.
- 아래나오는 경로는 임의의 경로이다. 편한대로 정할 수 있을 것 같다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN"
"http://tiles.apache.org/dtds/tiles-config_3_0.dtd">
<tiles-definitions>
<definition name="base" template="/WEB-INF/jsp/_tiles/layout.jsp">
<put-attribute name="header" value="/WEB-INF/jsp/_tiles/header.jsp" />
<put-attribute name="left" value="/WEB-INF/jsp/_tiles/left.jsp" />
<put-attribute name="footer" value="/WEB-INF/jsp/_tiles/footer.jsp" />
</definition>
<definition name="abc/*/*/*" extends="base">
<put-attribute name="content" value="/WEB-INF/jsp/egovframework/com/{1}/{2}/{3}.jsp" />
</definition>
</tiles-definitions>
|
cs |
- 기본적으로 /WEB-INF/jsp/_tiles/ 에 4개 layout.jsp, header.jsp, left.jsp, footer.jsp 를 만들어준다.
- layout.jsp 를 아래와 같이 만들어본다.
- html 의 body 부분에 아래와 같이 넣어봤다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <header> <tiles:insertAttribute name="header" /> </header> <div> <aside> <tiles:insertAttribute name="left" /> </aside> <div> <tiles:insertAttribute name="content" /> </div> </div> <footer> <tiles:insertAttribute name="footer" /> </footer> | cs |
- tiles에 정의된 header, left, content, footer 를 불러온다고 볼 수 있을 것 같다.
- content 부분은 common-def.xml 에서 base를 상속받아 따로 정의하고 있다.
- definition name="abc/*/*/*" 과 Controller 의 return 값 하고 비교를 해서 jsp 파일을 찾아서 layout.jsp 의 content 부분에 해당 jsp 의 내용을 보여준다.
4. 이제 URL로 접속을 해본다.
- Controller에서 정의한 /aaa/bbb/ccc.do를 브라우저에 입력하면 잘 나와야 한다.
'전자정부표준프레임워크' 카테고리의 다른 글
JSTL 과 EL (0) | 2020.08.28 |
---|---|
전자정부 표준프레임워크 3.9 모바일 공통컴포넌트 설치(템플릿) (0) | 2020.04.15 |
전자정부 표준프레임워크 MySQL 연결 (0) | 2020.03.12 |
globals.properties 의 정보에 대한 암호문 적용 (0) | 2020.03.11 |
globals.properties 의 정보에 대한 암호문 생성 (0) | 2020.03.11 |