태그 라이브러리

Granite, CQ 및 Sling 태그 라이브러리를 사용하면 템플릿 및 구성 요소의 JSP 스크립트에서 사용할 특정 함수에 액세스할 수 있습니다.

Granite Tag Library

Granite 태그 라이브러리에는 유용한 함수가 포함되어 있습니다.

Granite UI 구성 요소의 jsp 스크립트를 개발할 때 스크립트 맨 위에 다음 코드를 포함하는 것이 좋습니다.

<%@include file="/libs/granite/ui/global.jsp"%>

전역 또한 Sling 라이브러리를선언합니다.

<%@taglib prefix="sling" uri="https://sling.apache.org/taglibs/sling" %>

ui:includeClientLib

태그 Includes a AEM html client library, which can be a js, css, or theme library. <ui:includeClientLib> js 및 css와 같은 여러 유형의 포함을 위해 이 태그를 jsp에서 여러 번 사용해야 합니다. 이 태그는 서비스 인터페이스 주위의 편리한 [com.adobe.granite.ui.clientlibs.HtmlLibraryManager](https://helpx.adobe.com/kr/experience-manager/6-5/sites/developing/using/reference-materials/javadoc/com/adobe/granite/ui/clientlibs/HtmlLibraryManager.html) 래퍼입니다.

다음과 같은 속성이 있습니다.

categories - 쉼표로 구분된 클라이언트 라이브러리 카테고리 목록입니다. 여기에는 지정된 범주에 대한 모든 Javascript 및 CSS 라이브러리가 포함됩니다. 요청에서 테마 이름이 추출됩니다.

다음과 같습니다. com.adobe.granite.ui.clientlibs.HtmlLibraryManager#writeIncludes

theme - 쉼표로 구분된 클라이언트 라이브러리 카테고리 목록입니다. 여기에는 지정된 범주에 대한 모든 테마 관련 라이브러리(CSS 및 JS 모두)가 포함됩니다. 요청에서 테마 이름이 추출됩니다.

다음과 같습니다. com.adobe.granite.ui.clientlibs.HtmlLibraryManager#writeThemeInclude

js - 쉼표로 구분된 클라이언트 라이브러리 카테고리 목록입니다. 여기에는 지정된 범주에 대한 모든 Javascript 라이브러리가 포함됩니다.

다음과 같습니다. com.adobe.granite.ui.clientlibs.HtmlLibraryManager#writeJsInclude

css - 쉼표로 구분된 클라이언트 라이브러리 카테고리 목록입니다. 여기에는 지정된 범주에 대한 모든 CSS 라이브러리가 포함됩니다.

다음과 같습니다. com.adobe.granite.ui.clientlibs.HtmlLibraryManager#writeCssInclude

테마 - 테마 라이브러리 또는 테마 라이브러리가 아닌 라이브러리만 나타내는 플래그를 포함해야 합니다. 생략하면 두 세트가 모두 포함됩니다. 순수 JS 또는 CSS 포함에만 적용됩니다(카테고리 또는 테마 포함에는 적용되지 않음).

<ui:includeClientLib> 태그는 jsp에서 다음과 같이 사용할 수 있습니다.

<%-- all: js + theme (theme-js + css) --%>
<ui:includeClientLib categories="cq.wcm.edit" />

<%-- only js libs --%>
<ui:includeClientLib js="cq.collab.calendar, cq.security" />

<%-- theme only (theme-js + css) --%>
<ui:includeClientLib theme="cq.collab.calendar, cq.security" />

<%-- css only --%>
<ui:includeClientLib css="cq.collab.calendar, cq.security" />

CQ 태그 라이브러리

CQ 태그 라이브러리에는 유용한 함수가 포함되어 있습니다.

스크립트에서 CQ 태그 라이브러리를 사용하려면 스크립트가 다음 코드로 시작해야 합니다.

<%@taglib prefix="cq" uri="https://www.day.com/taglibs/cq/1.0" %>
노트

스크립트에 /libs/foundation/global.jsp 파일이 포함되어 있으면 taglib가 자동으로 선언됩니다.

AEM 구성 요소의 jsp 스크립트를 개발할 때 스크립트 맨 위에 다음 코드를 포함하는 것이 좋습니다.

<%@include file="/libs/foundation/global.jsp"%>

또한 sling, CQ 및 jstl 태깅으로 정의된 자주 사용되는 스크립팅 개체를 <cq:defineObjects /> 노출합니다. 이렇게 하면 구성 요소의 jsp 코드가 단축되고 간소화됩니다.

cq:text

<cq:text> 태그는 JSP에서 구성 요소 텍스트를 출력하는 편의성 태그입니다.

다음과 같은 선택적 속성이 있습니다.

property - 사용할 속성의 이름입니다. 이름은 현재 리소스에 상대적입니다.

- 출력에 사용할 값입니다. 이 속성이 있으면 속성 속성의 사용을 덮어씁니다.

oldValue - 비교 출력에 사용할 값입니다. 이 속성이 있으면 속성 속성의 사용을 덮어씁니다.

escapeXml - 결과 문자열의 <, >, &, ' 및 "문자를 해당 문자 엔티티 코드로 변환할지 여부를 정의합니다. 기본값은 false입니다. escape는 선택적 서식 다음에 적용됩니다.

format - 선택적 java.text.Format을 사용하여 텍스트 서식을 지정합니다.

no Diff - 비교 정보가 있어도 비교 출력을 계산하지 않습니다.

tagClass - 비어 있지 않은 출력을 둘러싸는 요소의 CSS 클래스 이름입니다. 비어 있으면 요소가 추가되지 않습니다.

tagName - 비어 있지 않은 출력을 둘러싸는 요소의 이름입니다. 기본값은 DIV입니다.

자리 표시자 - 편집 모드에서 null 또는 빈 텍스트(즉, 자리 표시자)에 사용할 기본값 기본 확인은 선택적인 형식 지정 및 이스케이프 뒤에 수행됩니다. 즉, 출력 그대로 기록됩니다. 기본값은 다음과 같습니다.

<div><span class="cq-text-placeholder">&para;</span></div>

기본값 - null 또는 빈 텍스트에 사용할 기본값. 기본 확인은 선택적 형식 지정 및 이스케이프 처리 후에 수행됩니다. 즉, 출력 그대로 기록됩니다.

JSP에서 태그를 사용할 수 있는 몇 가지 예: <cq:text>

<cq:text property="jcr:title" tagName="h2"/>
<cq:text property="jcr:description" tagName="p"/>

<cq:text value="<%= listItem.getTitle() %>" tagName="h4" placeholder="" />
<cq:text value="<%= listItem.getDescription() %>" tagName="p" placeholder=""/>

<cq:text property="jcr:title" value="<%= title %>" tagName="h3"/><%
    } else if (type.equals("link")) {
        %><cq:text property="jcr:title" value="<%= "\u00bb " + title %>" tagName="p" tagClass="link"/><%
    } else if (type.equals("extralarge")) {
        %><cq:text property="jcr:title" value="<%= title %>" tagName="h1"/><%
    } else {
        %><cq:text property="jcr:title" value="<%= title %>" tagName="h2"/><%

<cq:text property="jcr:description" placeholder="" tagName="small"/>

<cq:text property="tableData"
               escapeXml="false"
               placeholder="<img src=\"/libs/cq/ui/resources/0.gif\" class=\"cq-table-placeholder\" alt=\"\">"
    />

<cq:text property="text"/>

<cq:text property="image/jcr:description" placeholder="" tagName="small"/>
<cq:text property="text" tagClass="text"/>

cq:setContentBundle

<cq:setContentBundle> 태그는 i18n 현지화 컨텍스트를 만들어 javax.servlet.jsp.jstl.fmt.localizationContext 구성 변수에 저장합니다.

다음과 같은 속성이 있습니다.

언어 - 리소스 번들을 검색할 로케일의 언어입니다.

source - 로케일을 가져올 소스입니다. 다음 값 중 하나로 설정할 수 있습니다.

  • static - 로케일은 사용 가능한 경우 language 속성에서, 그렇지 않은 경우 서버 기본 로케일에서 가져옵니다.

  • 페이지 - 로케일은 현재 페이지 또는 리소스의 언어로, 사용 가능한 경우 속성에 따라, 그렇지 않은 경우 서버 기본 로케일에서 가져옵니다 language .

  • 요청 - 로케일은 요청 로케일( request.getLocale())에서 가져옵니다.

  • auto - 로케일은 가능한 경우 language 속성에서, 그렇지 않은 경우 현재 페이지 또는 리소스의 언어로, 그렇지 않은 경우 요청에서 가져옵니다.

속성이 설정되지 않은 source 경우:

  • 속성이 language 설정되면 source 속성의 기본값은 "입니다 static.

  • 속성이 language 설정되지 않으면 source 속성이 기본적으로 로 설정됩니다 auto.

"컨텐츠 번들"은 표준 JSTL <fmt:message> 태그에서 간단하게 사용할 수 있습니다. 키별 메시지 조회는 두 배입니다.

  1. 먼저 현재 렌더링된 기본 리소스의 JCR 속성이 번역에 대해 검색됩니다. 이렇게 하면 간단한 구성 요소 대화 상자를 정의하여 해당 값을 편집할 수 있습니다.
  2. 노드에 키와 정확히 동일한 이름의 속성이 포함되어 있지 않으면, 스링 요청에서 리소스 번들을 로드하는 것이 대비됩니다( SlingHttpServletRequest.getResourceBundle(Locale)). 이 번들의 언어 또는 로케일은 <cq:setContentBundle> 태그의 언어 및 소스 특성에 의해 정의됩니다.

<cq:setContentBundle> 태그는 jsp에서 다음과 같이 사용할 수 있습니다.

언어를 정의하는 페이지의 경우:

... %><cq:setContentBundle source="page"/><%  %>
<div class="error"><fmt:message key="Hello"/>
</div> ...

사용자 맞춤형 페이지:

... %><cq:setContentBundle scope="request"/><% %>
<div class="error"><fmt:message key="Hello"/>
</div> ...

cq:include

<cq:include> 태그에는 현재 페이지에 리소스가 포함됩니다.

다음과 같은 속성이 있습니다.

플러시

  • 대상을 포함하기 전에 출력을 플러시할지 여부를 정의하는 부울 값입니다.

경로

  • 현재 요청 처리에 포함할 리소스 개체의 경로입니다. 이 경로가 상대적이면 해당 스크립트가 해당 리소스를 포함하는 현재 리소스의 경로에 추가됩니다. 경로와 resourceType 또는 스크립트를 지정해야 합니다.

resourceType

  • 포함할 리소스의 리소스 유형입니다. 리소스 유형이 설정된 경우 경로는 리소스 객체의 정확한 경로여야 합니다.이 경우 경로에 매개 변수, 선택기 및 확장 기능을 추가할 수 없습니다.
  • 포함할 리소스가 리소스로 확인할 수 없는 경로 속성과 함께 지정된 경우, 태그는 경로 및 이 리소스 유형을 벗어나는 합성 리소스 개체를 만들 수 있습니다.
  • 경로와 resourceType 또는 스크립트를 지정해야 합니다.

스크립트

  • 포함할 jsp 스크립트입니다. 경로와 resourceType 또는 스크립트를 지정해야 합니다.

ignoreComponentHierarchy

  • 스크립트 해상도에 대해 구성 요소 계층을 무시할지 여부를 제어하는 부울 값입니다. true이면 검색 경로만 존중됩니다.

예:

<%@taglib prefix="cq" uri="https://www.day.com/taglibs/cq/1.0" %><%
%><div class="center">
    <cq:include path="trail" resourceType="foundation/components/breadcrumb" />
    <cq:include path="title" resourceType="foundation/components/title" />
    <cq:include script="redirect.jsp"/>
    <cq:include path="par" resourceType="foundation/components/parsys" />
</div>

스크립트를 사용해야 <%@ include file="myScript.jsp" %> 합니까, <cq:include script="myScript.jsp" %> 사용해야 합니까?

  • <%@ include file="myScript.jsp" %> 지시문은 JSP 컴파일러가 현재 파일에 전체 파일을 포함하도록 지시합니다. 포함된 파일의 내용이 원본 파일에 직접 붙여넣은 것과 같습니다.
  • 태그가 있는 <cq:include script="myScript.jsp"> 파일은 런타임에 포함됩니다.

사용하시겠습니까 <cq:include> 아니면 <sling:include>사용하시겠습니까?

  • AEM 구성 요소를 개발할 때 사용하는 것이 좋습니다 <cq:include>.
  • <cq:include> 스크립트 속성을 사용할 때 스크립트 파일을 이름으로 직접 포함할 수 있습니다. 이렇게 하면 구성 요소 및 리소스 유형 상속이 고려되며, 선택기와 확장 기능을 사용하여 Sling의 스크립트 해상도를 엄격하게 따르는 것보다 간단하기도 합니다.

cq:includeClientLib

주의

<cq:includeClientLib> 는 AEM 5.6 이후 더 이상 사용되지 않습니다.대신 사용해야 <ui:includeClientLib> 합니다.

태그 Includes a AEM html client library, which can be a js, css or a theme library. <cq:includeClientLib> js 및 css와 같은 여러 유형의 포함을 위해 이 태그를 jsp에서 여러 번 사용해야 합니다. 이 태그는 서비스 인터페이스 주위의 편리한 com.day.cq.widget.HtmlLibraryManager 래퍼입니다.

다음과 같은 속성이 있습니다.

categories - 쉼표로 구분된 클라이언트 라이브러리 카테고리 목록입니다. 여기에는 지정된 범주에 대한 모든 Javascript 및 CSS 라이브러리가 포함됩니다. 요청에서 테마 이름이 추출됩니다.

다음과 같습니다. com.day.cq.widget.HtmlLibraryManager#writeIncludes

theme - 쉼표로 구분된 클라이언트 라이브러리 카테고리 목록입니다. 여기에는 지정된 범주에 대한 모든 테마 관련 라이브러리(CSS 및 JS 모두)가 포함됩니다. 요청에서 테마 이름이 추출됩니다.

다음과 같습니다. com.day.cq.widget.HtmlLibraryManager#writeThemeInclude

js - 쉼표로 구분된 클라이언트 라이브러리 카테고리 목록입니다. 여기에는 지정된 범주에 대한 모든 Javascript 라이브러리가 포함됩니다.

다음과 같습니다. com.day.cq.widget.HtmlLibraryManager#writeJsInclude

css - 쉼표로 구분된 클라이언트 라이브러리 카테고리 목록입니다. 여기에는 지정된 범주에 대한 모든 CSS 라이브러리가 포함됩니다.

다음과 같습니다. com.day.cq.widget.HtmlLibraryManager#writeCssInclude

테마 - 테마 라이브러리 또는 테마 라이브러리가 아닌 라이브러리만 나타내는 플래그를 포함해야 합니다. 생략하면 두 세트가 모두 포함됩니다. 순수 JS 또는 CSS 포함에만 적용됩니다(카테고리 또는 테마 포함에는 적용되지 않음).

<cq:includeClientLib> 태그는 jsp에서 다음과 같이 사용할 수 있습니다.

<%-- all: js + theme (theme-js + css) --%>
<cq:includeClientLib categories="cq.wcm.edit" />

<%-- only js libs --%>
<cq:includeClientLib js="cq.collab.calendar, cq.security" />

<%-- theme only (theme-js + css) --%>
<cq:includeClientLib theme="cq.collab.calendar, cq.security" />

<%-- css only --%>
<cq:includeClientLib css="cq.collab.calendar, cq.security" />

cq:defineObjects

<cq:defineObjects> 태그는 개발자가 참조할 수 있는 정기적으로 사용되는 스크립팅 개체를 표시합니다. 또한 태그로 정의된 개체를 <sling:defineObjects> 표시합니다.

componentContext

  • 요청의 현재 구성 요소 컨텍스트 개체(com.day.cq.wcm.api.components.ComponentContext 인터페이스)입니다.

구성 요소

  • 현재 리소스의 현재 AEM 구성 요소 개체(com.day.cq.wcm.api.구성 요소 인터페이스)입니다.

currentDesign

  • 현재 페이지의 현재 디자인 개체(com.day.cq.wcm.api.designer.Design 인터페이스)입니다.

currentPage

  • 현재 AEM WCM 페이지 개체(com.day.cq.wcm.api.Page 인터페이스)입니다.

currentStyle

  • 현재 셀의 현재 스타일 개체(com.day.cq.wcm.api.designer.Style 인터페이스)입니다.

디자이너

  • 디자인 정보에 액세스하는 데 사용되는 디자이너 개체(com.day.cq.wcm.api.designer.Designer 인터페이스)입니다.

editContext

  • aem 구성 요소의 편집 컨텍스트 개체(com.day.cq.wcm.api.components.EditContext 인터페이스)입니다.

pageManager

  • 페이지 수준 작업을 위한 페이지 관리자 개체(com.day.cq.wcm.api.PageManager 인터페이스)입니다.

pageProperties

  • 현재 페이지의 페이지 속성 개체(org.apache.sling.api.resource.ValueMap)입니다.

속성

  • 현재 리소스의 속성 객체(org.apache.sling.api.resource.ValueMap)입니다.

resourceDesign

  • 리소스 페이지의 디자인 개체(com.day.cq.wcm.api.designer.Design 인터페이스)입니다.

resourcePage

  • 리소스 페이지 개체(com.day.cq.wcm.api.Page 인터페이스)입니다.
  • 다음과 같은 속성이 있습니다.

requestName

  • sling에서 상속됨

responseName

  • sling에서 상속됨

resourceName

  • sling에서 상속됨

nodeName

  • sling에서 상속됨

logName

  • sling에서 상속됨

resourceResolverName

  • sling에서 상속됨

slingName

  • sling에서 상속됨

componentContextName

  • wcm

editContextName

  • wcm

propertiesName

  • wcm

pageManagerName

  • wcm

currentPageName

  • wcm

resourcePageName

  • wcm

pagePropertiesName

  • wcm

componentName

  • wcm

designerName

  • wcm

currentDesignName

  • wcm

resourceDesignName

  • wcm

currentStyleName

  • wcm

<%@page session="false" contentType="text/html; charset=utf-8" %><%
%><%@ page import="com.day.cq.wcm.api.WCMMode" %><%
%><%@taglib prefix="cq" uri="https://www.day.com/taglibs/cq/1.0" %><%
%><cq:defineObjects/>
노트

스크립트에 /libs/foundation/global.jsp 파일이 포함되어 있으면 <cq:defineObjects /> 태그가 자동으로 포함됩니다.

cq:requestURL

태그는 현재 요청 URL을 JspWriter에 씁니다. <cq:requestURL> 두 개의 태그 <cq:addParam> <cq:removeParam> 이 태그의 본문 내에서 사용할 수 있으며, 태그를 작성하기 전에 현재 요청 URL을 수정할 수 있습니다.

다양한 매개 변수를 사용하여 현재 페이지에 대한 링크를 만들 수 있습니다. 예를 들어, 요청을 변형할 수 있습니다.

mypage.html?mode=view&query=something 대상 mypage.html?query=something.

addParam 사용하거나 해당 매개 변수의 발생을 removeParam 변경하기만 하면 다른 모든 매개 변수는 영향을 받지 않습니다.

<cq:requestURL> 에 속성이 없습니다.

예:

<a href="<cq:requestURL><cq:removeParam name="language"/></cq:requestURL>">remove filter</a>
<a title="filter results" href="<cq:requestURL><cq:addParam name="language" value="${bucket.value}"/></cq:requestURL>">${label} (${bucket.count})</a>

cq:addParam

<cq:addParam> 태그는 지정된 이름과 값을 포함하는 요청 매개 변수를 바깥쪽 <cq:requestURL> 태그에 추가합니다.

다음과 같은 속성이 있습니다.

이름

  • 추가할 매개 변수의 이름

  • 추가할 매개 변수의 값

예:

<a title="filter results" href="<cq:requestURL><cq:addParam name="language" value="${bucket.value}"/></cq:requestURL>">${label} (${bucket.count})</a>

cq:removeParam

태그는 <cq:removeParam> 바깥쪽 <cq:requestURL> 태그에서 지정된 이름과 값을 가진 요청 매개 변수를 제거합니다. 값을 제공하지 않으면 지정된 이름의 모든 매개 변수가 제거됩니다.

다음과 같은 속성이 있습니다.

이름

  • 제거할 매개 변수의 이름

예:

<a href="<cq:requestURL><cq:removeParam name="language"/></cq:requestURL>">remove filter</a>

Sling 태그 라이브러리

Sling 태그 라이브러리에는 유용한 Sling 함수가 포함되어 있습니다.

스크립트에서 Sling Tag Library를 사용할 때 스크립트는 다음 코드로 시작해야 합니다.

<%@ taglib prefix="sling" uri="https://sling.apache.org/taglibs/sling/1.0" %>
노트

스크립트에 /libs/foundation/global.jsp 파일이 포함되어 있으면 sling taglib가 자동으로 선언됩니다.

sling:include

<sling:include> 태그에는 현재 페이지에 리소스가 포함됩니다.

다음과 같은 속성이 있습니다.

플러시

  • 대상을 포함하기 전에 출력을 플러시할지 여부를 정의하는 부울 값입니다.

리소스

  • 현재 요청 처리에 포함할 리소스 개체입니다. 리소스 또는 경로를 지정해야 합니다. 둘 다 지정하면 리소스가 우선합니다.

경로

  • 현재 요청 처리에 포함할 리소스 개체의 경로입니다. 이 경로가 상대적이면 해당 스크립트가 해당 리소스를 포함하는 현재 리소스의 경로에 추가됩니다. 리소스 또는 경로를 지정해야 합니다. 둘 다 지정하면 리소스가 우선합니다.

resourceType

  • 포함할 리소스의 리소스 유형입니다. 리소스 유형이 설정된 경우 경로는 리소스 객체의 정확한 경로여야 합니다.이 경우 경로에 매개 변수, 선택기 및 확장 기능을 추가할 수 없습니다.
  • 포함할 리소스가 리소스로 확인할 수 없는 경로 속성과 함께 지정된 경우, 태그는 경로 및 이 리소스 유형을 벗어나는 합성 리소스 개체를 만들 수 있습니다.

replaceSelectors

  • 전달하면 선택기가 이 속성의 값으로 대체됩니다.

addSelectors

  • 전달하면 이 속성의 값이 선택기에 추가됩니다.

replaceSuffix

  • 전달하면 접미사가 이 속성의 값으로 대체됩니다.
노트

리소스 및 태그에 포함된 스크립트의 해상도는 일반적인 슬링 URL 해상도와 동일합니다. <sling:include> 기본적으로 선택기, 확장 등 현재 요청에서 포함된 스크립트도 사용됩니다. 태그 속성을 통해 수정할 수 있습니다.예를 들어 선택기를 덮어쓸 replaceSelectors="foo.bar" 수 있습니다.

예:

<div class="item"><sling:include path="<%= pathtoinclude %>"/></div>
<sling:include resource="<%= par %>"/>
<sling:include addSelectors="spool"/>
<sling:include resource="<%= par %>" resourceType="<%= newType %>"/>
<sling:include resource="<%= par %>" resourceType="<%= newType %>"/>
<sling:include replaceSelectors="content" />

sling:defineObjects

<sling:defineObjects> 태그는 개발자가 참조할 수 있는 정기적으로 사용되는 스크립팅 개체를 표시합니다.

slingRequest

  • HTTP 요청 헤더 정보에 대한 액세스를 제공하는 SlingHttpServletRequest 객체는 표준 HttpServletRequest를 확장하고 리소스, 경로 정보, 선택기 등과 같은 Sling 관련 항목에 대한 액세스를 제공합니다.

slingResponse

  • SlingHttpServletResponse 객체를 사용하여 서버에서 생성된 HTTP 응답에 대한 액세스를 제공합니다. 이 값은 현재 확장되는 HttpServletResponse와 동일합니다.요청
  • 순수한 HttpServletRequest인 표준 JSP 요청 객체입니다.응답
  • 순수 HttpServletResponse인 표준 JSP 응답 객체입니다.

resourceResolver

  • 현재 ResourceResolver 개체입니다. slingRequest.getResourceResolver()와 같습니다.

.sling

  • 이 응답 내에 다른 리소스의 응답을 포함할 수 있도록 주로 sling.include('/some/other/resource')에 스크립트에 대한 편의 메서드를 포함하는 SlingScriptHelper 개체(예: sling에서 사용할 수 있는 OSGi 서비스(스크립팅 언어에 따라 클래스 표기법)를 검색하기 위한 sling.getService(foo.bar.Service.class)와 sling.getService를 포함합니다.

리소스

  • 요청의 URL에 따라 처리할 현재 리소스 개체입니다. slingRequest.getResource()와 동일합니다.

currentNode

  • 현재 리소스가 JCR 노드(일반적으로 Sling의 경우)를 가리키면 Node 객체에 직접 액세스할 수 있습니다. 그렇지 않으면 이 개체가 정의되지 않습니다.

로그

  • 스크립트 내에서 Sling 로그 시스템에 기록할 수 있는 SLF4J Logger를 제공합니다. log.info("내 스크립트 실행").

  • 다음과 같은 속성이 있습니다.

requestName

responseName

nodeName

logName resourceResolverName

slingName

예:

<%@page session="false" %><%
%><%@page import="com.day.cq.wcm.foundation.forms.ValidationHelper"%><%
%><%@taglib prefix="sling" uri="https://sling.apache.org/taglibs/sling/1.0" %><%
%><sling:defineObjects/>

JSTL 태그 라이브러리

JavaServer Pages Standard Tag Library에는 유용한 표준 태그가 많이 포함되어 있습니다. 코어, 서식 및 함수 태그는 다음 코드 조각에 표시된 /libs/foundation/global.jsp 대로 정의됩니다.

Extract of /libs/foundation/global.jsp

<%@taglib prefix="c" uri="https://java.sun.com/jsp/jstl/core" %>
<%@taglib prefix="fmt" uri="https://java.sun.com/jsp/jstl/fmt" %>
<%@taglib prefix="fn" uri="https://java.sun.com/jsp/jstl/functions" %>

앞에서 설명한 대로 /libs/foundation/global.jsp 파일을 가져온 후 cfmt fn 접두사를 사용하여 해당 태그들에 액세스할 수 있습니다. JSTL의 공식 문서는 Java EE 5 자습서 - JavaServer Pages Standard Tag Library에서 확인할 수 있습니다.

이 페이지에서는