2011-04-06 4 views
2

JSPX는 올바른 형식의 XML이어야하며, 닫혀 있어야하므로 별도의 포함 파일에 태그의 beginig를 포함한 헤더 부분을 가질 방법이 없습니다.JSPX로 복사 - 붙여 넣기 코드가 생깁니 까?

모든 기본 페이지에 항상 포함시켜야하는 것처럼 보입니까? 또는 무엇인가 놓칠 수 있습니까?

답변

2

Apache Tiles가이 문제를 해결했다고 가정하면 JSPX 구성 요소를 템플리트하고 재사용 할 수 있습니다.

업데이트 답 :

당신의 views.xml에서

, 당신은 다음과 같은 것이다 :

<definition extends="error" name="dataAccessFailure"> 
    <put-attribute name="body" value="/WEB-INF/views/dataAccessFailure.jspx"/> 
</definition> 

<definition extends="default" name="index"> 
    <put-attribute name="body" value="/WEB-INF/views/body/index.jspx"/> 
    <put-attribute name="side" value="/WEB-INF/views/side/index.jspx"/> 
</definition> 

오류 및 기본은 모두 내가 레이아웃 디렉토리에 정의한 레이아웃은, 오류가있는 단일 열 레이아웃이며 기본값은 두 열 레이아웃입니다. 레이아웃 디렉토리 또한

가 layouts.xml입니다 :

<tiles-definitions> 

    <definition name="default" template="/WEB-INF/layouts/default.jspx"> 
     <put-attribute name="header" value="/WEB-INF/views/header.jspx" /> 
     <put-attribute name="menu" value="/WEB-INF/views/navigation.jspx" /> 
     <put-attribute name="footer" value="/WEB-INF/views/footer.jspx" /> 
    </definition> 

    <definition name="error" template="/WEB-INF/layouts/error.jspx"> 
     <put-attribute name="header" value="/WEB-INF/views/header.jspx" /> 
     <put-attribute name="menu" value="/WEB-INF/views/navigation.jspx" /> 
     <put-attribute name="footer" value="/WEB-INF/views/footer.jspx" /> 
    </definition> 

</tiles-definitions> 

개인적으로 손으로 아파치 타일 통합을 완료하지 않은, 그냥 다음 날 위해 완벽한 스택을 생성하는 봄 ROO을 사용하여 추가/내가 필요한만큼 물건을 제거하십시오.

+0

답변 해 주셔서 감사합니다. 감사합니다. 제 태그를 별도의 파일로 열어서 어떻게 할 수 있습니까? – Artem

+0

몇 가지 기본 타일 코드로 답변을 업데이트했습니다. HTML 태그를 별도의 파일로 열어 둘 수있는 PHP와 달리 각 파일에는 유효한 XML이 필요합니다. –

+0

그래서, 기본적으로, 당신은 내 최악의 기대를 확인하고 있습니다 : 하나의 파일에 열려있는 태그를두고 다른 태그 (HTML 태그처럼)에 닫고 싶다면 JSPX 대신 JSP를 옵트 아웃해야합니까? 내가 네가 맞았 니? – Artem

관련 문제