복붙노트

[SPRING] Apache Tiles의 더 나은 대안

SPRING

Apache Tiles의 더 나은 대안

아파치 타일 (지금까지 두 번 사용 해왔다)보다 사용하기 쉽고 더 나은 프레임 워크를 찾고 있습니다.

Tiles를 사용하면 100 개의 액션이있을 때마다 100 개의 JSP 파일을 만들고 tiles.xml에 100 개의 정의를 작성해야합니다.

내 템플릿을 관리하기위한 더 나은 프레임 워크가 있습니까? 예를 들어 2 개의 템플릿을 만들고 싶습니다.

a) 내용을위한 메뉴 및 칼럼 b) 메뉴, 콘텐츠 용 열, 배너가있는 오른쪽 열

두 템플리트에서 메뉴는 일정합니다. 템플릿 b에서 오른쪽 열은 상수이므로 내용 열만 다릅니다. 이 간단한 예제의 경우 템플릿을 확장하는 각 JSP 파일을 정의하지 않으려 고합니다 (본문을 제공하기 위해). 그게 뭐야? 아니면 아파치 타일에 DEFAULT 템플릿을 정의 할 수 있으며, 올바르게 사용하지 않을 수도 있습니다. 모든 경우, 모든 도움을 주셨습니다.

해결법

  1. ==============================

    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. ==============================

    2.다른 접근법은 Sitemesh입니다. 원본을 수정할 수없는보기를 메쉬로 디자인했기 때문에 타일과 같은 템플릿 프레임 워크보다 HTML 변형 / 장식 프레임 워크입니다.

    다른 접근법은 Sitemesh입니다. 원본을 수정할 수없는보기를 메쉬로 디자인했기 때문에 타일과 같은 템플릿 프레임 워크보다 HTML 변형 / 장식 프레임 워크입니다.

    개인적으로 Tiles는 appliation을위한 더 나은 접근법이며 XML 파일을 쓸모 없게 만드는 일종의 이름 지정 규칙을 기반으로하는 일종의 해결자를 구현하려고 시도하지만 이것이 문제는 아닙니다.

    @ 참고 :이 오래된 소개는 SiteMesh의 작동 방식을 보여줍니다.

  3. ==============================

    3.(이와 유사)

    (이와 유사)

    모든 작업에 대한 정의가 필요하지 않습니다.

    이 상용구 구성은 1 일간의 전화 끊기입니다. 와일드 카드가 도입되었을 때 tiles-2에서는 필요하지 않으며, 특히 OptionsRenderer와 함께 타일 -3을 사용하면 정말 필요하지 않습니다.

    여기에 도움이 될 자습서가 있습니다.

  4. ==============================

    4.나는 JSF + Facelets를 사용하여 끝내었다. 저는 Spring MVC와 결합 시켰고 매력처럼 작동합니다.

    나는 JSF + Facelets를 사용하여 끝내었다. 저는 Spring MVC와 결합 시켰고 매력처럼 작동합니다.

  5. ==============================

    5.경험을 바탕으로 Apache Wicket을 강력히 추천합니다.

    경험을 바탕으로 Apache Wicket을 강력히 추천합니다.

  6. from https://stackoverflow.com/questions/9748481/better-alternative-to-apache-tiles by cc-by-sa and MIT license