>  기사  >  Java  >  Struts에서 Tiles 프레임워크 사용

Struts에서 Tiles 프레임워크 사용

黄舟
黄舟원래의
2016-12-17 10:50:191178검색


이것은 Jakarta Struts 프로그래밍 책에서 Tiles 프레임워크 사용에 대한 시리즈의 세 번째 부분입니다. 주로 태그 라이브러리(insert, 정의, put, putList, add, get 등)를 사용하는 방법을 설명합니다. getAsString, useAttribute, importAttribute 및 initComponentDefinitions).
 
 타일 태그 라이브러리(타일 태그 라이브러리)
 이 섹션에서는 타일 프레임워크에서 사용하는 jsp 사용자 정의 태그를 소개합니다. 표 14-1에는 프레임워크에 사용할 수 있는 태그가 나열되어 있습니다. 이러한 태그는 다른 템플릿 기반 프레임워크에서 제공되는 태그와 매우 유사하지만 Tiles 프레임워크에는 더 풍부한 기능이 포함되어 있습니다.

표 14-1: 타일 프레임워크 태그 라이브러리의 태그

태그 이름(설명)
추가 환경 목록에 요소를 추가합니다.
정의 Tiles 구성 요소 정의를 만듭니다.
Get요청 범위에서 콘텐츠를 가져옵니다. 이 콘텐츠는 put 태그
에 의해 배치됩니다.
GetAsString 타일/구성요소/템플릿 속성으로 지정된 값을 현재
JspWriter에 전달합니다.
ImportAttribute는 지정된 컨텍스트에 Tiles 속성을 도입합니다.
initComponentDefinitions Tiles 정의 팩토리를 초기화합니다.
삽입 타일 구성요소를 삽입합니다.
타일 컨텍스트에 속성을 설정합니다.
PutList 속성으로 전달되는 목록을 선언합니다.
useAttribute 페이지의 속성 값을 사용합니다.
 
 insert 태그
 insert 태그는 페이지에 콘텐츠를 삽입하는 역할을 합니다. 타일 ​​레이아웃에서 삽입 태그는 속성 값으로 지정된 콘텐츠를 사용합니다. 타일이 아닌 레이아웃에서는 삽입 태그를 사용하여 프레임(레이아웃)을 얻고, 넣기 태그를 사용하여 콘텐츠를 레이아웃에 전달합니다.
표 14-2에는 삽입 태그의 속성이 나열되어 있습니다.

표 14-2: 삽입 태그의 속성

속성 이름(설명)
속성 현재 타일/ 구성 요소 컨텍스트의 속성 이름입니다. 이 속성 값은 name 속성에 의해 전달됩니다.
beanName Bean의 이름을 값으로 사용합니다. 해당 Bean은 지정된 컨텐츠에서 가져옵니다.
가능한 경우 지정된 컨텍스트에서 Bean을 얻을 수 있습니다. 그렇지 않으면 pageContext.findAttribute() 메서드를 사용하여 이를 가져와야 합니다. beanPROperty 속성이 지정된 경우 이 값은 해당 Bean 속성에서도 얻을 수 있습니다.
이 Bean(또는 Bean의 속성 값)이 특정 속성 클래스(Direct, Instance 등)의 인스턴스인 경우 삽입 프로세스는 클래스 유형에 따라 다릅니다. 또한 Bean의 toString() 메소드가 호출되며 반환 값은 String이며 name 속성에 전달됩니다.
beanProperty Bean 속성(속성)의 이름(지정된 경우 이 값은 Bean의 속성(속성)에서 가져옵니다.
beanScope 지정되지 않은 경우 Bean의 범위, pageContext.findAttribute() 메서드) 사용할 수 있습니다. Bean의 범위는 JSP, 구성 요소 또는 템플릿이 될 수 있습니다. 후자의 두 경우(컴포넌트, 템플릿)에서 빈은 타일(타일)/컴포넌트/템플릿 콘텐츠
컴포넌트 타일 또는 템플릿 URI를 설명하는 문자열), 페이지 및 컴포넌트 속성에 정확히 있어야 합니다. 동일한 동작
ControllerUrl 페이지가 삽입되기 전 컨트롤러의 직접 URI입니다. 이 URI는 일반적으로 strUCt 작업을 나타내는 데 사용됩니다. 이 컨트롤러(작업)는 삽입된 타일에 대한 데이터를 준비하는 데 사용됩니다. ControllerUrl 또는 ControllerClass는 하나만 있을 수 있습니다
 controllerClass는 페이지가 삽입되기 직전에 호출되는 컨트롤 클래스의 일종입니다. 이 클래스는 삽입된 타일에 대한 데이터를 준비하는 데 사용됩니다. ControllerUrl 또는 ControllerClass는 하나만 있을 수 있습니다. 이 클래스는 org.apache.struts.tiles.Controller, org.apache.struts.tiles.ControllerSupport 또는 org.apache.struts.action.Action 클래스 중 하나를 구현하거나 확장합니다.
 definition  이름을 삽입하세요. 정의. 정의는 중앙 파일에 정의됩니다. 이제 이 속성을 사용하면 팩토리 정의만 삽입할 수 있습니다. beanName="".
플러시 true 또는 false로 정의된 정의를 삽입합니다. true인 경우 현재 페이지는 타일 삽입 전에 스트림을 출력합니다.
무시 이 속성이 true로 설정되고 속성이 지정된 경우 존재하지 않는 경우 아무것도 기록되지 않은 결과만 반환됩니다. 초기값은 false로 설정되어 있어 런타임 예외가 발생할 수 있습니다.
이름 삽입할 엔터티의 이름입니다. 검색은 정의, 속성, 페이지 순으로 이루어집니다.
 page  타일 또는 템플릿을 나타내는 URI 문자열입니다. 템플릿, 페이지 및 구성 요소 속성은 엄격하게 동일한 동작을 가져야 합니다.
역할 사용자가 지정된 역할에 있으면 이 태그가 적용됩니다. 그렇지 않으면 이 태그가 무시되고 콘텐츠가 작성되지 않습니다.
템플릿 타일 또는 템플릿을 나타내는 URI 문자열입니다. 템플릿, 페이지, 컴포넌트 속성은 완전히 동일한 동작을 가져야 합니다
 
 정의 태그
 정의 태그는 빈 정의 방법을 사용하여 타일(템플릿)을 생성합니다. 범위를 식별하도록 요청했습니다. 정의 태그의 구문 중 일부는 삽입의 구문과 동일합니다. 새 정의는 정의 팩토리(xml 파일)에 이미 설명된 정의를 확장할 수 있으며 이전에 정의된 매개변수를 재정의할 수 있습니다.
 
 표 14-3에는 정의 태그가 지원하는 속성이 나열되어 있습니다.
 
 속성 이름 설명
 extends는 정의 팩토리에 정의된 상위 정의를 확장하는 데 사용할 수 있습니다.
 id는 bean의 이름을 정의하며 이 속성은 필수입니다.
 템플릿/컴포넌트를 삽입하기 위한 페이지 URL입니다. 템플릿과 동일합니다.
역할 정의를 삽입하기 전에 역할을 확인하세요. 현재 사용자가 이 역할을 정의하지 않으면 이 정의가 삽입되지 않습니다. 정의할 때가 아니라 삽입할 때 확인하세요.
Scope는 Bean이 새로 정의될 때 생성됩니다. 지정하지 않으면 기본값은 페이지 범위의 URL입니다.
템플릿 타일/컴포넌트/템플릿(JSP 페이지)
다음 스니펫은 JSP에서 정의 태그를 사용하는 방법을 보여줍니다.
 
  id="storefront.default"
 page="/layouts/storefrontDefaultLayout.jsp"
 scope="request">
 
 
 < ;tiles:put name="copyright" value="/common/copyright.jsp" />
 
 
전체 예는 나중에 "선언"에서 찾을 수 있습니다. 이 장의 JSP 페이지 정의"에는
 
 put 태그
 put 태그가 속성을 타일 구성 요소에 전달하는 데 사용됩니다. 이 태그는 삽입 또는 정의 태그 내에서만 사용할 수 있습니다. put 태그의 값은 value 속성 또는 태그 본문에 의해 지정됩니다. 값 유형도 지정되는 경우가 많습니다.
문자열: 이름에서 알 수 있듯이
페이지 또는 템플릿: 콘텐츠에 지정된 URL이 포함됩니다. 이름은 일반적으로 URL로 사용됩니다.
정의: 콘텐츠는 공장에서 지정됩니다. ) 이름은 정의된 이름으로 사용됩니다. type을 사용하는 경우 get 또는 insert 태그를 통해 타일에 삽입됩니다. type 속성을 지정하지 않으면 형식화된 Bean에서 제공되지 않는 한 콘텐츠의 형식이 지정되지 않습니다.
팁: direct="true" 설정 type="string"으로 설정한 것과 같습니다.
 
 표 14-4에는 put 태그의 속성이 나열되어 있습니다.

속성명 설명
beanName Bean의 이름은 값과 동일하게 사용됩니다. Bean은 특별한 콘텐츠에서 얻습니다. 있는 경우 pageContext.findAttribute() 메서드를 사용하여 이를 얻을 수도 있습니다. beanProperty 속성이 지정된 경우 해당 Bean 속성에서 이 값을 얻을 수 있습니다.
beanProperty Bean 속성의 이름입니다.
beanScope 지정하지 않으면 pageContext.findAttribute() 메서드를 사용할 수 있습니다. Bean의 범위는 JSP, 구성 요소 또는 템플릿이 될 수 있습니다. 후자의 두 경우(컴포넌트, 템플릿)의 경우 빈은 타일(타일)/컴포넌트/템플릿(템플릿) 콘텐츠
 콘텐츠  콘텐츠가 타일의 범위 내에 있습니다. 이 속성은 value 속성과 동일하며 JSP 템플릿 태그와의 호환성을 위해 추가됩니다. .
콘텐츠의 DirectControl 방식: true는 콘텐츠가 직접 표시된다는 뜻이고, false는 콘텐츠가 포함된다는 의미입니다. false가 기본값입니다. 이는 콘텐츠 유형을 지정하는 방법이기도 합니다. direct="true"인 경우 콘텐츠는 "string"이고 direct="false"인 경우 콘텐츠는 "page"입니다. 이 속성은 JSP 템플릿 태그와의 호환성을 위해 추가됩니다. .
이름  속성 이름입니다.
 역할  이 태그는 사용자가 지정된 역할에 있는 경우에만 작동합니다. 그렇지 않으면 이 태그는 무시되고 내용이 작성되지 않습니다.
유형 콘텐츠의 유형입니다. 유효한 값은 "string", "page", "template" 또는 "definition"입니다.
Value String 또는 Object일 수 있는 속성 값입니다. 값은 직접 할당됩니다. (value="avalue") 또는 Bean에서 얻습니다. 값, 콘텐츠 또는 beanName이 존재해야 합니다.
putList 태그
putList 태그는 목록을 생성하고 타일의 값으로 전달합니다. 목록 요소는 add 태그를 사용하여 추가됩니다. 이 태그는 삽입 또는 정의 태그에만 사용할 수 있습니다.
 
 표 14-5에는 putList 태그의 속성이 나열되어 있습니다.
 
 속성 이름 설명
 이름 목록의 이름입니다. 이 속성은 필수입니다.
 
 태그 추가
 추가 태그는 주변 목록에 요소를 추가합니다. 이 태그는 putList 태그에서만 사용할 수 있습니다. 이 값은 직접 할당할 수 있습니다. (value="avalue") 또는 Bean에서 얻습니다. 값 또는 beanName을 지정해야 합니다.
 
 표 14-6에는 add 태그의 속성이 나열되어 있습니다.

속성명 설명
beanName Bean의 이름은 값과 동일하게 사용됩니다. Bean은 특별한 콘텐츠에서 얻습니다. 그렇다면 pageContext.find를 사용해도 됩니다.

위는 Struts에서 Tiles 프레임워크를 사용한 내용입니다. 더 많은 관련 글은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.