viewresolver 가 리턴 페이지 설정할 때
tiles.xml 파일에서 경로 매핑해줄 수 있다.
tiles를 쓰면 일단 tiles.xml에 매핑되는 패턴이 있는지 확인하고 있으면 tiles를 타고
없으면 일반 viewResolver로 이동한다.
그 원리를 tiles.xml에 명시된 url pattern을 확인해야한다.
=====
name="test2" 부분에서 url 확인하고
extends="test1"가 있으면 // test1 템플릿을 그대로 받고
test2에서 추가한 부분만 overwrite해서 쓴다는 의미
=======
sub/*/*/
위와 같은 방식으로 매핑 가능
====
화면을 조각내서 보여줄 때 용이함.
화면 여러개를 layer 해서 보려줄 수 있음
spring에서 자주 사용됨.
====
<t:insertAttribute 태그 앞에
꼭 if로 null 체크 해주자.
<c:if test= !util:isNull(head.ogTitle)
같은 방식으로
안하면
javax.el.PropertyNotFoundException 에러 난다.
===
tiels에서 insertAttribute 메서드를 가장 많이 쓰고 중요하다.
==
tiles prefix를 쓰려면
상당에 taglib로 호출만 해주면 된다 (dependency에서 tiles- jsp를 먼저 추가해주는 것이 선행)
====
tiles는 apache 제품이다.
2017년이 마지막 버전이다.
=======
https://tiles.apache.org/framework/tutorial/index.html
위의 경로에 공식 튜토리얼 있기 때문에 그거 보고 공부하는 것도 좋고
=======
tiles인강들이 유튜브에도 몇개 있으니. 그거보고 공부하는 것도 추천
뉴렉처 채널에서 강의하는 것 보고 있는데, 상당히 괜찮다.
물론 인프런 같은 유료 강의 보다는 퀄리티가 떨어진다. //중복되는 부분이 있다.
==========
원래 기본적으로 viewResolver가 bean으로 스프링 컨테이너에 등록되어 있는데.
tiles를 쓰려면 tils 전용 viewResolver도 bean으로 등록을 해줘야한다.
dispatcher-servlet.xml 파일에 등록
tiles쪽에 property로 order=1을 주면
우선순위로 처리할 수 있게 해줄 수 있다.
<bean class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.tiles3.TilesView" />
<property name="order" value="1" />
</bean>
===========
* 을 asterisk라고 해도 되지만
보통 와일드카드라는 표현을 프로그래밍 업계에서는 더 많이 쓴다.
*을 1개 쓰면 뒷부분에어 {1} 로 순차적으로 받을 수 있다.
2번째 와일드 카드는 {2}로 받는다.
=========
tiles를 쓰는 시스템을 유지보수 하고 있다면
tiles에 대한 이해가 중요하다.
view단 전체 구조를 tiles가 컨트롤하니까.
view를 제대로 이해하기 위해서 tiles에 대한 이해도가 중요
==========
개발을 하다보면 5개 이상의 기술을 혼합해서 사용하는 경우가 많은데
그 기술 사용법을 잘 익히고 개발을 하는 것과
모르고 사용하는 것은 차이가 매우 크다.
장애가 발생할 확률도 높고 // 해당 도구를 비효율적으로 사용하게 된다.
따라서 기술 스택에 포함된 것들을 공부를 열심히 해서 사용법을 제대로 파악을 하자.
그게 개발실력을 레벨업할 수 있는 길이다.
=======
'프로그래밍' 카테고리의 다른 글
meta 태그 - property로 접근 - jquery (0) | 2022.12.27 |
---|---|
카카오톡 공유 - og:data 아이폰 변경 (0) | 2022.12.22 |
jsp error - validation error messages from taglibraryValidatior for fmt (0) | 2022.12.19 |
<메모> 이클립스 (0) | 2022.12.15 |
[메모] JUnit (0) | 2022.12.14 |
댓글