자바 과정 11회차/spring mvc1 게시판
[mvc] 타일즈 적용
y2on
2019. 1. 9. 22:01
0. layouts.xml 준비
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 | <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE tiles-definitions PUBLIC "-//Apache Software Foundation//DTD Tiles Configuration 3.0//ENhttp://tiles.apache.org/dtds/tiles-config_3_0.dtd"> <tiles-definitions> <definition name="login.tiles" template="/WEB-INF/views/home.jsp"> </definition> <!-- <definition name="login.tiles" template="/WEB-INF/views/login/login.jsp"> </definition> <definition name="bbslist.tiles" template="/WEB-INF/views/layouts-tiles.jsp"> <put-attribute name="common" value="/WEB-INF/views/common/common.jsp"/> <put-attribute name="header" value="/WEB-INF/views/common/header.jsp"/> <put-attribute name="top_inc" value="/WEB-INF/views/common/top.jsp"/> <put-attribute name="top_menu" value="/WEB-INF/views/common/top_menu.jsp"/> <put-attribute name="left_main" value="/WEB-INF/views/common/left_bbslist.jsp"/> <put-attribute name="main" value="/WEB-INF/views/bbs/bbslist.jsp"/> <put-attribute name="bottom_inc" value="/WEB-INF/views/common/bottom.jsp"/> </definition> <definition name="bbswrite.tiles" extends="bbslist.tiles"> <put-attribute name="main" value="/WEB-INF/views/bbs/bbswrite.jsp"/> </definition> --> </tiles-definitions> | cs |
20행 : 같은 템플릿 (layouts-tiles.jsp)을 사용할 경우(11행 , 22행 )extends
*템플릿으로 사용할경우 해당 jsp 파일에 추가
1 2 3 4 5 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> | cs |
1. xml 설정
1.1 pom.xml 에 타일즈3 dependency 추가
1.2 servlet-context ( dispatcher servlet , sts : app servlet) resolver 설정 , 레이아웃 위치 정의( 0번 연결)
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 | <!-- tiles 설정 : tiles 설정 --> <bean id="tilesConfigurer" class ="org.springframework.web.servlet.view.tiles3.TilesConfigurer"> <property name="definitions"> <list> <value>/WEB-INF/views/layouts.xml</value> </list> </property> </bean> <!-- tiles 설정 "viewResolver 설정 --> <bean id="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver"> <property name="requestContextAttribute" value="requstContext"/> <property name="viewClass" value="org.springframework.web.servlet.view.tiles3.TilesView"></property> </bean> | cs |
2. web.xml 에 appservlet경로 정의
스프링 셋팅때 되어있음
2. 컨트롤러
1 2 3 4 5 | @RequestMapping(value="login.do", method=RequestMethod.GET) public String login(Model model) { logger.info("KhMemberController login" + new Date()); return "login.tiles"; } | cs |
4행 : tiles 로 이동
3. 뷰 생성
상단에 소스 추가
login.jsp
1 2 3 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> | cs |