[SPRING] Apache Tiles의 더 나은 대안
SPRINGApache Tiles의 더 나은 대안
아파치 타일 (지금까지 두 번 사용 해왔다)보다 사용하기 쉽고 더 나은 프레임 워크를 찾고 있습니다.
Tiles를 사용하면 100 개의 액션이있을 때마다 100 개의 JSP 파일을 만들고 tiles.xml에 100 개의 정의를 작성해야합니다.
내 템플릿을 관리하기위한 더 나은 프레임 워크가 있습니까? 예를 들어 2 개의 템플릿을 만들고 싶습니다.
a) 내용을위한 메뉴 및 칼럼 b) 메뉴, 콘텐츠 용 열, 배너가있는 오른쪽 열
두 템플리트에서 메뉴는 일정합니다. 템플릿 b에서 오른쪽 열은 상수이므로 내용 열만 다릅니다. 이 간단한 예제의 경우 템플릿을 확장하는 각 JSP 파일을 정의하지 않으려 고합니다 (본문을 제공하기 위해). 그게 뭐야? 아니면 아파치 타일에 DEFAULT 템플릿을 정의 할 수 있으며, 올바르게 사용하지 않을 수도 있습니다. 모든 경우, 모든 도움을 주셨습니다.
해결법
-
==============================
1.전반적으로 Tiles에 비해 SiteMesh를 권하고 싶습니다.
전반적으로 Tiles에 비해 SiteMesh를 권하고 싶습니다.
SiteMesh 3을 설정하는 방법은 다음과 같습니다.
인 페이지 템플릿에는 타일을 사용할 수 있지만 사이트 전체 템플릿에는 SiteMesh를 사용할 수 있습니다. 그렇지만...
타일을 덜 빨기 만드는 법 :
<definition name="default" template="/WEB-INF/templates/default.jsp"> <put-attribute name="titleKey" value=""/> <put-attribute name="body" value=""/> </definition> <definition name="*" extends="default"> <put-attribute name="titleKey" value="{1}.title"/> <put-attribute name="body" value="/WEB-INF/views/{1}.jsp" /> </definition>
컨트롤러가 뷰 이름 인덱스를 반환하면 정의와 일치하며 body에 JSP 파일 /WEB-INF/views/index.jsp를 사용하고 message 속성 index.title을 사용합니다.
콘트롤러가 뷰 이름 contact-us를 리턴하면, 정의와 일치 할 것이고, body에 JSP 파일 /WEB-INF/views/contact-us.jsp를 사용하고 message 속성 인 contact-us.title을 사용한다.
템플릿에서 다음을 추가합니다.
<c:set var="titleKey"><tiles:getAsString name="titleKey" /></c:set>
과
<title><spring:message code="${titleKey}"/></title>
ReloadableResourceBundleMessageSource 빈을 서블릿 애플리케이션 컨텍스트에 추가하십시오.
다음과 같은 내용으로 /src/main/resources/messages.properties 파일을 만듭니다.
index.title = Welcome to Acme, Inc. contact-us.title = Contact Us
-
==============================
2.다른 접근법은 Sitemesh입니다. 원본을 수정할 수없는보기를 메쉬로 디자인했기 때문에 타일과 같은 템플릿 프레임 워크보다 HTML 변형 / 장식 프레임 워크입니다.
다른 접근법은 Sitemesh입니다. 원본을 수정할 수없는보기를 메쉬로 디자인했기 때문에 타일과 같은 템플릿 프레임 워크보다 HTML 변형 / 장식 프레임 워크입니다.
개인적으로 Tiles는 appliation을위한 더 나은 접근법이며 XML 파일을 쓸모 없게 만드는 일종의 이름 지정 규칙을 기반으로하는 일종의 해결자를 구현하려고 시도하지만 이것이 문제는 아닙니다.
@ 참고 :이 오래된 소개는 SiteMesh의 작동 방식을 보여줍니다.
-
==============================
3.(이와 유사)
(이와 유사)
모든 작업에 대한 정의가 필요하지 않습니다.
이 상용구 구성은 1 일간의 전화 끊기입니다. 와일드 카드가 도입되었을 때 tiles-2에서는 필요하지 않으며, 특히 OptionsRenderer와 함께 타일 -3을 사용하면 정말 필요하지 않습니다.
여기에 도움이 될 자습서가 있습니다.
-
==============================
4.나는 JSF + Facelets를 사용하여 끝내었다. 저는 Spring MVC와 결합 시켰고 매력처럼 작동합니다.
나는 JSF + Facelets를 사용하여 끝내었다. 저는 Spring MVC와 결합 시켰고 매력처럼 작동합니다.
-
==============================
5.경험을 바탕으로 Apache Wicket을 강력히 추천합니다.
경험을 바탕으로 Apache Wicket을 강력히 추천합니다.
from https://stackoverflow.com/questions/9748481/better-alternative-to-apache-tiles by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] UTF-8 URL 디코드 / 인코딩 (0) | 2019.02.17 |
---|---|
[SPRING] Java에서 정적 메서드를 쉽게 조롱 할 수있는 방법 (jUnit4) (0) | 2019.02.17 |
[SPRING] java.lang.NoSuchMethodError : org.slf4j.spi.LocationAwareLogger.log (0) | 2019.02.16 |
[SPRING] BeanFactory가 초기화되지 않았거나 이미 닫혔습니다 - 전에 '새로 고침'을 호출하십시오. (0) | 2019.02.16 |
[SPRING] 스프링 부트 프로젝트의 application.properties 파일은 어디에 있습니까? (0) | 2019.02.16 |