환경
src/main/java
→ boot.data.controller / boot.data.dto / boot.data.mapper 패키지
→ 클래스 및 인터페이스 생성
src/main/resources → mapper 폴더 → IpgoSql.xml
테이블 생성
CREATE TABLE ipgo(
num smallint primary key auto_increment,
sangpum varchar(30),
price int,
photoname varchar(300),
ipgoday datetime
);
WEB-INF → layout 폴더 → title, info, menu, main, layout1.jsp 파일 생성
static → image → 사진 넣기
WEB-INF → tiles.xml
<?xml version="1.0" encoding="UTF-8"?>
<!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>
<!-- 레이아웃 1 설정 -->
<definition name="layout1" template="/WEB-INF/layout/layout1.jsp">
<put-attribute name="title" value="/WEB-INF/layout/title.jsp"></put-attribute>
<put-attribute name="menu" value="/WEB-INF/layout/menu.jsp"></put-attribute>
<put-attribute name="main" value="/WEB-INF/layout/main.jsp"></put-attribute>
<put-attribute name="info" value="/WEB-INF/layout/info.jsp"></put-attribute>
</definition>
<!-- tiles 매핑경로 설정 -->
<definition name="home.tiles" extends="layout1">
<!-- name main에 value 값 main -->
<put-attribute name="main" value="/WEB-INF/layout/main.jsp"/>
</definition>
<definition name="ipgoList.tiles" extends="layout1">
<!-- name main에 ipgoList -->
<put-attribute name="main" value="/WEB-INF/ipgo/ipgoList.jsp"/>
</definition>
<!-- 와일드카드 매크로 설정 -->
</tiles-definitions>
src/java/main → TilesConfig.java
*@ComponentScan*({"boot.tiles.mini"})설정 필요
yml 에 jsp부분 지우기 (resolver가 tiles가 된 것)
controller
@GetMapping("/")
public String root() {
return "home.tiles";
}
tiles.xml
<!-- 와일드카드 매크로 설정 -->
<definition name="/*/*" extends="layout1">
<put-attribute name="main" value="/WEB-INF/{1}/{2}.jsp"/>
</definition>
controller
jsp resolver→ tiles resolver로 변경
@GetMapping("/")
public String root() {
return "/layout/main";
}
@GetMapping("/ipgo/form")
public String form() {
return "/ipgo/ipgoForm";
}
레이아웃 2개 이상