sitemesh velocity freemarker struts2

   1. <#if Parameters.myParameter?exists>   
   2.      ${Parameters.myParameter}   
   3. if>  
 
sitemesh velocity:
http://www.opensymphony.com/sitemesh/velocity-decorators.html
sitemesh freemarker:
http://www.opensymphony.com/sitemesh/freemarker-decorators.html
Struts 2.0 은 Sitemesh 플러그 인 을 제공 합 니 다.Sitemesh 템 플 릿 에서 Struts 표 시 를 사용 할 수 있 습 니 다.
Sitemesh 를 사용 하려 면 Freemark,Sitemesh,Sitemesh 플러그 인 라 이브 러 리 파일 을 포함 해 야 합 니 다.
필터 설정
프 리 마크 템 플 릿 파일 을 장식 기 파일 로 사용 하려 면 웹.xml 파일 에 다음 설정 을 추가 해 야 합 니 다.
xml 코드
   1.  <filter>  
   2.     <filter-name>struts-cleanupfilter-name>  
   3.     <filter-class>org.apache.struts2.dispatcher.ActionContextCleanUpfilter-class>  
   4. filter>  
   5. <filter>  
   6.     <filter-name>sitemeshfilter-name>  
   7.     <filter-class>org.apache.struts2.sitemesh.FreeMarkerPageFilterfilter-class>  
   8. filter>  
   9. <filter>  
  10.     <filter-name>strutsfilter-name>  
  11.     <filter-class>org.apache.struts2.dispatcher.FilterDispatcherfilter-class>  
  12. filter>  
  13.   
  14. <filter-mapping>  
  15.     <filter-name>struts-cleanupfilter-name>  
  16.     <url-pattern>/*url-pattern>  
  17. filter-mapping>  
  18. <filter-mapping>  
  19.     <filter-name>sitemeshfilter-name>  
  20.     <url-pattern>/*url-pattern>  
  21. filter-mapping>  
  22. <filter-mapping>  
  23.     <filter-name>strutsfilter-name>  
  24.     <url-pattern>/*url-pattern>  
  25. filter-mapping>  


 ActionContextCleanUp 필 터 는 FilterDispatcher 이전에 설정 해 야 합 니 다.ActionContextCleanUp 의 주요 기능 은 FilterDispatcher 가 실행 이 끝 났 음 을 알 리 고 ActionContext 를 지우 지 마 십시오.sitemesh 장식 기 가 Struts 값 스 택 에 접근 할 수 있 도록 합 니 다.
WEB-INF 디 렉 터 리 아래 decorator.xml 파일 을 만 듭 니 다.장식 기 가 어떤 파일 과 일치 해 야 하 는 지 지정 합 니 다.다음 예제 에 서 는 main.flt 를 지정 하여 모든 jsp 파일 을 장식 합 니 다.
xml 코드:
   1.  <!--sp-->xml version="1.0" encoding="ISO-8859-1"?>  
   2.   
   3. <decorators defaultdir="/decorators">  
   4.     <!-- Any urls that are excluded will never be decorated by Sitemesh -->  
   5.     <excludes>  
   6.         <pattern>/exclude.jsppattern>  
   7.         <pattern>/exclude/*pattern>  
   8.     excludes>  
   9.   
  10.     <decorator name="main" page="main.ftl">  
  11.         <pattern>/*.jsppattern>  
  12.     decorator>  
  13. decorators>  

  사용자 정의 장식 기 맵 이 필요 하 다 면 WEB-INF 디 렉 터 리 아래 sitemesh.xml 파일 을 만들어 야 합 니 다.이 단 계 는 선택 할 수 있 으 며,일반적으로 부족 한 설정 은 요 구 를 만족 시 킬 수 있다.
정의 장식 기 파일
        결 성 된 상황 에서 sitemesh 가정 장식 기 파일 은 상하 문 루트 경로 의 decorators 디 렉 터 리 에 저 장 됩 니 다.위 와 같은 설정 을 사용 하면 장식 기 파일 은 ftl 형식 이 어야 합 니 다.다른 형식 을 사용 하려 면 필터 설정 을 변경 해 야 합 니 다.
장식 페이지 방문
        Freemark 인 테 리 어 파일 에서 인 테 리 어 된 페이지 의 관련 부분 에 다음 변 수 를 통 해 접근 할 수 있 습 니 다.
xml 코드:
   1.  ${title}......          。   
   2.   
   3. ${head}......           ,    。   
   4.   
   5. ${body}......        body  。   
   6.   
   7. ${page.properties.meta.author}......          。   

 
내부 변수
Freemark 와 Struts 통합 은 다음 과 같은 내부 변 수 를 제공 합 니 다.
xml 코드:
   1.  stack......     ,  ${stack.findString('ognl expr')}   
   2.   
   3. action......Action     
   4.   
   5. response/res......       
   6.   
   7. request/req......       
   8.   
   9. session......       
  10.   
  11. application......ServletContext   
  12.   
  13. base......           
 
응용 프로그램의 각 범위 속성 에 접근 하 는 문법 예 시 를 소개 합 니 다.
어 플 리 케 이 션 범위
응용 프로그램 범위 에 속성 이 있다 고 가정 합 니 다 my 응용 프로그램 Attribute:
자바 코드:
   1. <#if Application.myApplicationAttribute?exists>   
   2.      ${Application.myApplicationAttribute}   
   3. if> 


 or
   1. <@s.property value="%{#application.myApplicationAttribute}" />  
 
세 션 범위
세 션 범위 내 에 속성 이 있다 고 가정 합 니 다 my Session Attribute:
자바 코드:
   1. <#if Session.mySessionAttribute?exists>   
   2.      ${Session.mySessionAttribute}   
   3. if>  


혹시
자바 코드:
<@s.property value="%{#session.mySessionAttribute}" /> 
 
요청 범위
요청 범위 에 속성 my RequestAttribute 가 있다 고 가정 합 니 다.
자바 코드:
   1. <#if Request.myRequestAttribute?exists>   
   2.       ${Request.myRequestAttribute}   
   3. if>  


혹시

         
java

 
요청 매개 변수
요청 매개 변수 my 매개 변수 가정:
   1. <#if Parameters.myParameter?exists>   
   2.      ${Parameters.myParameter}   
   3. if>  
 
or
자바 코드:
   1. <@s.property value="%{#parameters.myParameter}" />  
 
Context 매개 변수
프레임 워 크 컨 텍스트 에 인자 my ContextParam 이 있다 고 가정 합 니 다.
${stack.findValue('#myContextParam')}  
 
or
자바 코드:
   1. <@s.property value="%{#parameters.myParameter}" />  
 
Context 매개 변수
프레임 워 크 컨 텍스트 에 인자 my ContextParam 이 있다 고 가정 합 니 다.
${stack.findValue('#myContextParam')}  

 
or
자바 코드:
   1.  <@s.property value="%{#myContextParam}" />   

좋은 웹페이지 즐겨찾기