2015-12-31 2 views
0

Извините, если раньше был дан ответ. Короче говоря, мне было поручено выяснить способ запроса контента/страниц для отображения превью на другой странице. Это не проблема для меня, за исключением того, что я никогда не использовал AEM, а другие разработчики не имеют опыта веб-сервисов.Служба AEM SQL

Из того, что я видел, упоминается OSGi для создания .NET-сервиса, поэтому я не совсем уверен, что то, что они предлагают, слишком велико для того, что я пытаюсь выполнить. Мне удалось запустить SQL-запрос в CRXDE Lite (выберите * из nt: base где ....), и я могу увидеть значения типа ресурса, которые я хочу извлечь. Можно ли просто создать JSP-файл с запросом?

ответ

2

Короткий ответ, да, можно запросить прямо из jsp, но это ужасно плохая идея со стороны разработчика.

Существует несколько способов запроса репозитория, и все зависит от вкуса и требований. Но было бы настоятельно рекомендуется создать java-сервис, который абстрагирует фактическую реализацию запроса от вашей логики отображения (также как JSP). Таким образом, вы можете повторно использовать свой код в других местах. Если вы все еще наклонены на выполнение непосредственно в JSP, вы можете напрямую использовать службу QueryBuilder для создания и выполнения запросов, а не для собственной службы. Основной пример можно найти на adobe.

я запрос к хранилищу в ряде способов, и все они зависят от контекста и сложности

  • XPath (хотя не рекомендуется - она ​​по-прежнему выходит на первое место как самый быстрый на много запросов, и это не исчезнет в ближайшее время я считаю)
  • SQL or SQL2 (ссылка для JBoss документации, но синтаксис такой же)
  • Predicates

Чем она ems выше можно запускать несколькими способами, мой личный вкус выходит из api querybuilder или resourceResolver.findResources (String query, String language) в зависимости от контекста.

Полезный инструмент для тестирования запросов, кроме CRX/ДЭ /libs/cq/search/content/querydebug.html

+0

Большое вам спасибо за эту информацию. – Rudy

Смежные вопросы