为什么 sling.servlet.prefix 在 Sling Servlet 中?

Why sling.servlet.prefix in Sling Servlets?

我正在尝试在 Sling Servlet 中使用 sling.servlet.prefix 选项。根据我的理解,如果我将相对路径放入 resourceType 并向 /apps 或 /libs 添加前缀,它将直接指向该路径。但这并没有发生。

> @Component(service=Servlet.class,
>         property={
>                 Constants.SERVICE_DESCRIPTION + "=Simple Demo Servlet",
>                 "sling.servlet.methods=" + HttpConstants.METHOD_GET,
>                 "sling.servlet.resourceTypes="+ "community-components/components/componentpage",
>                 "sling.servlet.extensions=" + "sample",
>                 "sling.servlet.prefix=" + "/apps"
>         })

请帮忙。

sling.servlet.prefix 的值需要以 / 开头,以便将其值用作前缀。否则,它需要一个整数或一个可以解析为整数的字符串,这将是资源解析器中搜索路径条目的索引,用作前缀。

由于您的前缀不是以 / 开头,它会尝试将其转换为整数,但由于它不是有效整数,因此会被忽略。

在您的情况下,前缀为 /apps/

可以找到有关前缀的更多信息here