Резолвер ресурсов Apache Sling

Что такое ResourceResolver? Что еще более важно, как вы это используете? Я изо всех сил пытаюсь найти простой пример. Итак, скажем, у меня есть путь, и я хочу использовать преобразователь ресурсов, чтобы увидеть, разрешается ли путь к ресурсу. Как бы я это сделал? Я знаю, что это неправильно, но если кто-то сможет это исправить, это поможет.

Iterator<String> nodeSample = getResource("title");
return nodeSample

person Delmon Young    schedule 29.03.2013    source источник


Ответы (1)


RequestResolver, если процитировать javadoc , определяет сервисный API, который может использоваться для разрешения Resource объектов.

Обычно вы получаете доступ к нему в SlingServlet, вызывая request.getResourceResolver() или в сценарии (например, сценарии JSP) под переменной resourceResolver. Для получения дополнительных сведений о переменных в сценариях см. Переменные сценария в вики-странице Sling.

Получив его, вы можете использовать его для доступа к ресурсам в дереве содержимого:

Resource resource = requestResolver.getResource("/content/my/resource");
if ( resource != null ) // bingo!

Чтобы отобразить свойства ресурса, я обычно адаптирую его к ValueMap, а затем извлекаю свойства

ValueMap properties = resource.adaptTo(ValueMap.class);
String title = properties.get("jcr:title", String.class);
person Robert Munteanu    schedule 29.03.2013
comment
Спасибо за ответ. Извините, но я все еще не понимаю, когда у вас есть доступ к ресурсу, как бы вы отобразили что-то, связанное с ресурсом, в дереве контента. Не могли бы вы сделать что-нибудь вроде resource.getProperties (''). Снова завершено, и я подчеркиваю, что это совершенно ново. - person Delmon Young; 30.03.2013