인쿠르드액션태그로 사용했었음
ui프레임워크로 ui를 인크루드 방식으로 조합한다.
다양한 형태의 레이아웃을 만들 수 있다.
페이지 모듈화 할 때 많이 쓴다.
단점은 설정파일이 있기때문에 작업량이 많아진다
작업하려면 템플릿이 필요하다
layout.jsp
tiles가 커스텀 태그를 제공하기에 설정파일로부터 정보를 읽어서 인크루드하는 방식
pom.xml에 라이브러리를 추가해준다
server-context.xml 에서 오토스캔 설정하고
현재 프로젝트에서는 ㄴ기존의 view Resolver를 사용할 일이 없으므로 지워주고
tiles를 테스트 할 것이기에 tiles가 제공하는 view Resolver를 넣어준다.
만약 기존의 view Resolver도 사용해야한다면 우선순위를 부여해주면 된다.
layout.jsp 에 태그를 넣어준다.
<%@ taglib prefix="tiles" uri="http://tiles.apache.org/tags-tiles" %>
타일스는 인크루드 기능도 가능하지만
문자열을 셋팅해서 데이터를 읽어올 수 있다.
<tiles:getAsString name="title"/>
<tiles:insertAttribute name="header"/>
index.controller설정
jsp호출하는 것이 아니라 인덱스 설정을 호출하는것
즉 tilesdef-xml의 지정한 명칭을 호출한다. 그러면 명칭에 연결된 value값(jsp)을 호출한다.
index,jsp생성하고 리다이렉트한다. (index.controller에서 requestMapping한 주소로 "/index.do")
통일된 레이아웃에 부분만 바꿀 때 상속도 가능하다.
주의! 팝업으로 뜰 때, json문자열을 만들 때,(@responasebody는 가능)은 조합하면 안됀다
<@ResponseBody와 @RequestBody>
@ResponseBody: 자바 객체를 HTTP요청 몸체로 변환
@RequestBody: HTTP 요청 몸체를 자바 객체로 변환
위 어노테이션의 공통 접점은 JSON이라는 데이터 타입이다. JAVA에서는 JSON이라는 데이터 타입이 없기 때문에 프론트단에서 자바에게 JSON타입의 데이터를 전달해주거나 혹은 반대로 JAVA의 객체데이터를 JSON형태로 프론트단에 전달해야하는 경우, @ResponseBody와 @RequestBody가 그 역할을 해주고 있다.
그리고 이를 사용하기 위해서는 라이브러리를 추가해주어야 하는데, Jackson, Gson, SimpleJSON과 같은 라이브러리가 있다. 이중에 Jackson 라이브러리를 많이 사용하는데, 대용량 데이터처리를 하는 경우, 가장 빠른 속도를 보여주고, 스프링부트에서 공식적으로 사용하고 있기 때문이다.
*@ResponseBody는return "/result"는 컨트롤러에서 /result라는 url을 찾으라는 의미가 아니라 "/result"라는 String을 반환하라는 것이다.
즉, 내가 어떤 상황으로 인해 url을 통해 뷰로 가는게 아니라 Stirng 자체를 반환하고 싶을때 쓰면된다.
출처: https://yulfsong.tistory.com/96 [Code Writer]
*@RequestBody는 ajax에서 파라미터를 받아올때, Controller에서 저 어노테이션 쓰는구나, 하고 이해하면 된다.
'WEB > ✿Spring Framework' 카테고리의 다른 글
[Spring] 🔗10)Spring 실습2 (0) | 2022.03.12 |
---|---|
[Spring] 🔗10)Spring 실습1 (0) | 2022.03.08 |
[Spring] 🔗8) MyBatis (0) | 2022.03.05 |
[Spring] 🔗6) 로깅처리 (0) | 2022.03.05 |
[Spring] 🔗4) Spring MVC (0) | 2022.02.25 |
댓글