decorators. xml 의 용법
, :
1, json
2, ,
, , , , 。。。
, , , jsp ( 、js、 css 。
include , jsp include )。
, jsp , , , action excludes 。 。
인터넷 에 매우 가 는 글 이 있 는데, 붙 여 서 예비 로 한다.
소개: sitemesh 는 Decorator 모드 를 사용 하여 filter 로 request 와 response 를 캡 처 하여 페이지 구성 요소 head, content, banner 를 완전한 보기 로 결합 합 니 다.일반적으로 우 리 는 include 태그 로 모든 jsp 페이지 에 다양한 header, stylesheet, scripts and footer 를 계속 포함 하고 있 습 니 다. 지금 은 sitemesh 의 도움 을 받 아 즐겁게 삭제 할 수 있 습 니 다.다음 그림 에서 복합 보기 모드 에 쉽게 도달 하고 싶다 면 본문 을 보 세 요.
1. WEB - INF / web. xml 에서 copy 아래 filter 의 정의:
sitemesh
com.opensymphony.module.sitemesh.filter.PageFilter
sitemesh
/*
2. copy 에 필요 한 sitemesh - 2.3. jar 는 WEB - INF \ lib 아래 에 있 습 니 다.(여기 다운로드 가능http://www.opensymphony.com/sitemesh/) 3. WEB - INF / decorators. xml 를 만들어 각 장식 기 페이지 를 설명 합 니 다.
*
위 프로필 은 장식 기 페이지 가 있 는 경 로 를 지정 하고 main 이라는 장식 기 를 지정 합 니 다. 이 장식 기 는 기본 으로 웹 응용 루트 아래 의 모든 페이지 를 장식 합 니 다.4. 장식 기 페이지 / decorators / main. jsp 만 들 기
<title default=" ..."/>
sitemesh
[email protected]
5. 인 테 리 어 된 페이지 / index. jsp (콘 텐 츠 페이지) 를 만 듭 니 다.
Agent Test
, .
마지막 으로 index. jsp 를 방문 하면 다음 페이지 가 생 성 됩 니 다. 또한 모든 페이지 는 index. jsp 와 같이 sitemesh 의 filter 에 의 해 장식 모드 로 위의 그림 처럼 수정 되 지만 include 탭 을 사용 하지 않 아 도 됩 니 다.
장식 기 decorator 개념 은 재 활용 가능 한 웹 프로그램 을 만 들 기 위해 서 일반적인 방법 은 다음 과 같은 레이 어 링 시스템 을 구축 하 는 것 입 니 다.
* :JSP Servlets, jakarta velocity 。。。
* Controller : (Struts/Webwork)
* Business :
* :hibernate/jdo
그러나 나 쁜 것 은 전단 의 페이지 논리 가 재 활용 되 기 어렵 다 는 것 이다. 모든 페이지 에서 수많은 include 로 공공 header, stylesheet, scripts, footer 를 재 활용 할 때 문제 가 발생 했다. - 중복 되 는 코드 는 각 페이지 마다 copy 로 페이지 구 조 를 재 활용 해 야 하 며 창의 적 으로 페이지 구 조 를 바 꿔 야 할 때 재난 은 당신 을 사랑 하 게 된다.sitemesh 는 filter 를 통 해 request 와 response 를 캡 처 하고 원본 페이지 에 일정한 장식 (header, footer 일 수 있 습 니 다.) 을 추가 한 다음 에 결 과 를 클 라 이언 트 에 게 되 돌려 주 고 장 식 된 원본 페이지 는 sitemesh 의 장식 을 모 릅 니 다. 이것 은 탈 결합 항목 에 이 르 렀 습 니 다.곧 새로 발 표 될 Portlet 규범 은 우리 의 기준 이 이런 것 보다 더 멋 진 생각 을 실현 하 는 데 도움 이 될 것 이 라 고 합 니 다. 그러나 불쌍 한 나 는 그것 이 도대체 무슨 말 인지 모 르 겠 습 니 다. 관심 이 있 는 사람 은 jetspeed 나 JSR (Java Specification Request) 168 을 연구 할 수 있 습 니 다. 그러나 나 는 sitemesh 가 이렇게 간단 하 다 고 생각 합 니 다. 우 리 는 먼저 사용 해도 괜 찮 습 니 다.환경 을 어떻게 설정 하 는 지 보 여 줍 니 다. WEB - INF / lib 에 있 는 sitemesh. jar 외 에 도 WEB - INF /: * sitemesh. xml (선택 가능) * decorators. xml sitemesh. xml 에 두 가지 정 보 를 설정 할 수 있 습 니 다. Page Parsers: stream 의 데 이 터 를 읽 고 한 Page 대상 에서 SiteMesh 에 의 해 해석 되 고 작 동 합 니 다.(자주 사용 되 지 않 습 니 다. 기본 값 으로 하면 됩 니 다) Decorator Mappers: 서로 다른 장식 기 종류 입 니 다. 저 는 두 가지 가 모두 아래 에 있 는 것 을 발 견 했 습 니 다.일반적인 mapper 입 니 다. 장식 기의 설정 파일 이름 을 지정 할 수 있 고, 다른 인쇄 가능 한 장식 기 를 사용 할 수 있 습 니 다.http://localhost/aaa/a.html?printable=true인쇄 할 수 있 도록 원본 페이지 를 보 여 줍 니 다.(그러나 일반적으로 만 들 지 않 아 도 됩 니 다. 기본 설정 은 충분 합 니 다. com / opensymphony / module / sitemesh / factory / sitemesh - default. xml): 범례:
decorators. xml: 복합 보 기 를 구성 하 는 모든 페이지 구성 요소 에 대한 설명 (주요 구조 페이지, header, footer...) 을 정의 합 니 다. 다음 과 같 습 니 다.
*
* defaultdir:
* page :
* name :
* role : ,
* webapp :
* Patterns : , *, 。
가장 중요 한 것 은 장식 기 자 체 를 쓰 는 것 이다.그리고 그들 을 decorators. xml 에 묘사 합 니 다. 가장 간단 한 용법 을 살 펴 보 겠 습 니 다. 사실 가장 자주 사용 되 고 가장 간단 한 용법 은 바로 우리 의 hello 예 입 니 다. 이렇게 많은 기술 에 직면 하여 기능 점 이 도착 할 때 까지 만 연구 할 필요 가 없다 고 생각 합 니 다.
<title default=" ..."/>
sitemesh
[email protected]
우 리 는 장식 기 페이지 에 두 개의 탭 만 사용 합 니 다: 요청 한 원본 페이지 의 title 내용 을 < / p > < title / > 중간 에 삽입 합 니 다. < br / > < body / >: 요청 한 원본 페이지 의 body 내 모든 내용 을 해당 위치 에 삽입 합 니 다. < br / > 그리고 우 리 는 decorator. xml 에 다음 설명 을 추가 하면 됩 니 다: < br / > < decorator name = "main" page = "main. jsp"> < br / > < pattern > * < / pattern > < br / > < / decorator > < br / > 이렇게 요청 한 모든 페이지 를 다시 처리 하고 main. jsp 형식 으로 다시 보 여 줍 니 다. < br / > 더 많은 용법 을 보 여 줍 니 다. (sitemesh 문 서 를 베 끼 기)< br / > 아래 에 있 는 모든 태그: < br / > Decorator Tags Page Tags < br / > 는 장식 기 페이지 를 만 드 는 데 사 용 됩 니 다. 원본 콘 텐 츠 페이지 에서 장식 기 를 방문 하 는 데 사 용 됩 니 다.
<br><getproperty/> <br><usepage/> <br><applydecorator/> <br><param/> <br></code></pre>< p > 원본 페이지 (포 장 된 페이지) 의 head 탭 에 있 는 내용 (head 탭 자 체 는 포함 되 지 않 음) 을 삽입 합 니 다. < br / > < body / > < br / > 원본 페이지 (포 장 된 페이지) 의 body 탭 에 있 는 내용 을 삽입 합 니 다. < br / > < title default = "..." / > < br / > 원본 페이지 (포 장 된 페이지) 의 title 탭 에 있 는 내용 을 삽입 하면 결 성 된 값 을 추가 할 수 있 습 니 다. < br / > 예: < br / > / decorator / main. jsp 에서(장식 기 페이지): < / p > < title > < title default = "title - hello" / > - 추가 제목 / aa. jsp 중 (원본 페이지): aa 페이지 방문 / aa. jsp 결과: aa 페이지 - 추가 제목 은 탭 에 원본 페이지 (포장 페이지) 를 삽입 합 니 다.기 존 탭 의 속성 에 있 는 내용 중 하 나 를 추가 할 수도 있 습 니 다. sitemesh 문서 의 예 는 이해 하기 쉽 습 니 다. The decorator: > The undecorated page: The decorated page: 메모, writeEntireProperty = "true" 는 내용 을 삽입 하기 전에 빈 칸 을 추가 합 니 다. jsp 페이지 의 탭 처럼 페이지 대상 으로 포 장 된 페이지 를 사용 할 수 있 습 니 다.(게 으 른 용도) 예: 사용 가능: 도달 한 접근 결과 입 니 다. < br / > < applydecorator name = "..." page = "..." title = "..." > < br / > < param name = "..."... < / param > < br / > < param name = "...">... < / param > < br / > < / apply decorator > < br / > 포장 기 를 지정 한 페이지 에 적용 합 니 다. 일반적으로 포장 페이지 에 포장 기 를 주동 적 으로 사용 합 니 다. 이 라벨 은 이해 하기 어렵 습 니 다. 예 를 들 어 < br / > 포장 기 페이지 / decorators / panel. jsp: < p > < title / > < / p >... < p > < body / > < / p > < br / > < br / > 그리고 decorators. xml 에 < decorator name = "panel" page ="panel. jsp" / > < br / > 공공 페이지 가 패 널 에 포 장 됩 니 다. / public / date. jsp: < br / >... < getproperty property = "my Email"/ > < br / > 포 장 된 페이지 / page. jsp: < br / > < title > page 의 응용... chenp@neusoft.com마지막 결 과 는 무엇 일 까요?의 title, 2 단 은 date. jsp 의 body 내용 입 니 다. 또한, page: apply Decorator 에 포 함 된 page: param 태그 가 설명 한 속성 값 은 포장 페이지 에서 decorator: getProperty 태그 로 접근 할 수 있 습 니 다. 인쇄 가능 한 인터페이스 장식 은 앞에서 말 했 듯 이 인쇄 가능 한 장식 기 가 1 가지 있 습 니 다. 사용 할 수 있 습 니 다.http://localhost/aaa/a.html?printable=true접근 방식다른 장식 기 (자신 이 지정 한) 는 인쇄 할 수 있 도록 원본 페이지 를 보 여 줍 니 다. (header, footer 등의 화려 한 그림 도 연결 하지 않도록 합 니 다) 그 를 어떻게 실현 하 는 지 살 펴 보 겠 습 니 다. 1. 먼저 WEB - INFO / sitemesh. xml 에 설정 합 니 다.<pre><code> <mapper class="com.opensymphony.module.sitemesh.mapper.PrintableDecoratorMapper">
<param name="decorator" value="printable"/>
<param name="parameter.name" value="printable"/>
<param name="parameter.value" value="true"/>
</mapper>
</code></pre> <br>이렇게 하면? printable = true 를 통 해 원래 의 장식 기 대신 printable 이라는 장식 기 를 사용 할 수 있 습 니 다. 2. WEB - INFO / decorators. xml 에서 해당 하 는 printable 장식 기 를 정의 합 니 다.<br>3. 마지막 으로 printable 장식 기 / decorators / printable. jsp 작성<pre><code>
<title><title/>
</h1>
<p align="right"><i>(printable version)</i></p>
<body/>
</code></pre>
<p> ?printable=true 。</p>
<p> <br/> sitemesh iso-8859-1, , :<br/> * 1: application server , encoding charset , gbk gb2312 <br/> * 2: 。<br/> 1. jsp : server 。<br/> 2. jsp head :<meta http-equiv="content-type" content="text/html; charset=gbk"/> 。<br/> : sitemesh :<br/> 1. ,<br/> 2. WEB-INFO/decroators.xml 。<br/> 3. decroators.xml , /_decorators <br/> 4.ok , <br/> </p>
</usebean></div>
</div>
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.