Я работаю над сервлетом, чтобы выполнить некоторую логику, специфичную для типа ресурса, в sling и установить информацию для запроса, доступную через jsp, а затем передать запрос в jsp аналогично первому решению, представленному в этот ответ а>.
Вот пример кода, представляющий мою ситуацию:
@SlingServlet(
resourceTypes="myapp/components/mycomponent",
methods="GET",
extensions={"html"}
)
...
@Reference
private ServletResolver serlvetResolver;
protected void doGet(....) {
setPropertiesToRequest();
Servlet servlet = servletResolver.resolveServlet(resource, "....jsp");
servlet.service(slingRequest, slingResponse);
clearPropertiesFromRequest();
}
Из-за этого я заметил, что потерял обработку селектора в sling (мне пришлось свернуть свою собственную более простую версию, чтобы определить, какой jsp отображать. Полнофункциональная обработка селекторов слингов более подробно описана здесь). Я хотел обратиться к сообществу переполнения стека и спросить, что еще я могу упустить, лишив обработчик запроса по умолчанию. Я просмотрел исходный код, но я думаю, что может быть что-то еще.
Во-вторых, мне было бы интересно узнать, как и где этот подход может повлиять на производительность разрешения запроса.
Спасибо, Томас