小编Bry*_*opp的帖子

如何在Sling包中使用JSP标记文件?

我正在尝试创建一个安装在吊索中的捆绑包并使用自定义TagLib.我想使用标记文件,而不是使用扩展TagSupport的java类.这样我就可以使用Sling Model来表示JCR和JSP标记文件来表示标记.

这是我的标记文件,它是一个非常基本的锚,没什么特别的,我只是想测试一下:

<%@ tag body-content="scriptless" %>
<%@ tag language="java" pageEncoding="ISO-8859-1"%>
<%@ tag import="org.apache.sling.api.resource.Resource, CallToAction" %>
<%@ attribute name="resource" rtexprvalue="true" required="true" type="org.apache.sling.api.resource.Resource" %>

<%
    CallToAction cta = resource.adaptTo(CallToAction.class);
    jspContext.setAttribute("cta", cta);
%>
<jsp:doBody var="bodytext">
<c:choose>
    <c:when test="${not empty bodytext }">
        <c:set var="text" value="${bodytext}" />
</c:when>
    <c:when test="${not empty cta.text}">
        <c:set var="text" value="${cta.text}" />
</c:when>
</c:choose>

<a class="${cta.css}" href="${cta.href}" title="${cta.title}" >${text}</a>
Run Code Online (Sandbox Code Playgroud)

我创建了一个TLD文件,我在WEB-INF/tags和META-INF/tags文件夹中尝试过(我剥离了xmlns,但该文件有效且有效):

<tlib-version>1.0</tlib-version>
<short-name>test</short-name>
<uri>http://www.example.com/taglibs/test/1.0</uri>
<tag-file>
    <description>
        Creates an anchor (&lt;a&gt;) HTML element according to the description in 
        CallToAction
    </description>
    <name>cta</name>
    <path>/WEB-INF/tags/cta.tag</path> …
Run Code Online (Sandbox Code Playgroud)

jsp jsp-tags sling aem

3
推荐指数
1
解决办法
1657
查看次数

标签 统计

aem ×1

jsp ×1

jsp-tags ×1

sling ×1