Aem 如何使用HTL/Sightly访问后缀?

Aem 如何使用HTL/Sightly访问后缀?,aem,sling,sightly,htl,Aem,Sling,Sightly,Htl,TLDR:创建一个名为“mypage.html”的新AEM页面。在URL中提供后缀。将此后缀传递给Sling servlet。后缀充当URL参数 所需URL示例: 因此,我创建了一个可以读取后缀的servlet(使用本指南:) @SuppressWarnings("serial") @SlingServlet(paths="geometrixx/components/hompepage", selectors="name", extensions="html",methods="GET", m

TLDR:创建一个名为“mypage.html”的新AEM页面。在URL中提供后缀。将此后缀传递给Sling servlet。后缀充当URL参数

所需URL示例:


因此,我创建了一个可以读取后缀的servlet(使用本指南:)

@SuppressWarnings("serial")
@SlingServlet(paths="geometrixx/components/hompepage", selectors="name", extensions="html",methods="GET", metatype=true)
public class StaffProfileServlet extends SlingAllMethodsServlet {
    private static final Logger log = LoggerFactory.getLogger(CourseBookmarkServlet.class);

    @Override
    protected void doGet(final SlingHttpServletRequest request,
                         final SlingHttpServletResponse response) throws ServletException, IOException {
        RequestPathInfo rpi = request.getRequestPathInfo();
        String[] suffixes = rpi.getSuffix().split("/");
如果我通过

我接下来要做的是创建一个名为“mypage.html”的新页面,并提供第一个和最后一个后缀

mypage将在格式正确的页面中显示与此人相关的信息通过上面的代码,我得到的只是JSON响应。

我认为实现目标所需的一些假设/变更:

  • 我将在servlet代码上使用路径和请求参数(即使用request.getParameter(“myparameter”)
  • 我将使用AJAX访问servlet
  • 如果我的假设是正确的,那么如何从HTL/Sightly访问后缀呢?我知道我可以通过${request.requestURI}甚至Javascript获取URI。使用这个值,我就可以在AJAX调用中使用它

    但这是AEM/Sling的方法吗?或者有更好的方法来做我想做的事情

    非常感谢!

    您可以使用HTL的接口访问后缀。${request.requestPathInfo.suffix}

    可通过HTL->访问的全局对象

    方法可通过请求对象->访问。

    您可以使用HTL中的接口访问后缀的。${request.requestPathInfo.suffix}

    可通过HTL->访问的全局对象


    方法可通过请求对象->访问。

    您可以使用HTL的
    RequestPathInfo
    接口访问后缀。
    ${request.RequestPathInfo.suffix}
    。是否有列出${request}中所有可用属性的页面?非常感谢!请作为答案回复,我会接受。感谢您可以使用HTL的
    RequestPathInfo
    接口访问后缀。
    ${request.RequestPathInfo.suffix}
    。是否有一个页面列出了${request}中的所有可用属性?非常感谢!请作为答案回复,我会接受。谢谢