Я пытаюсь интегрировать Spring framework в AEM6/CQ5.Интеграция AEM/CQ5 и Spring Framework?
Я следую этому руководству. LINK
В соответствии с учебным пособием я установил пакет NEBA. Все пакеты NEBA активны в консоли OSGi.
Затем я создал свой собственный проект Maven CQ5, я добавил зависимости аннотаций Neba и Spring. Мой проект также был успешно развернут в CQ5 (пакет активен).
Я попытался использовать аннотацию ResourceModel NEBA. Но эта модель не появляется в реестре моделей NEBA. Я сопоставил ResourceModel с компонентом контента, который я создал «linkComponent».
Когда пользователь перетаскивает это на любом parsys узел ресурса имеет свойство LINKNAME и LinkUrl.
Я попытался получить доступ к этим значениям в JSP, но мне не удалось.
См. Код: package com.zensar.neba;
import org.apache.sling.api.resource.Resource;
import io.neba.api.annotations.Path;
import io.neba.api.annotations.ResourceModel;
@ResourceModel(types = "zensar-neba/components/content/linkComponent")
public class LinkComponent {
private String linkName;
private String linkURL;
public String getLinkName() {
return linkName;
}
public void setLinkName(String linkName) {
this.linkName = linkName;
}
public String getLinkURL() {
return linkURL;
}
public void setLinkURL(String linkURL) {
this.linkURL = linkURL;
}
}
Пожалуйста Смотрите JSP Код linkComponent ниже:
<%@include file="/libs/foundation/global.jsp"%>
<%@taglib prefix="neba" uri="http://neba.io/1.0"%>
<neba:defineObjects />
Link Component
<a href="${m.linkURL}"> Click Here ${m.linkName}</a>
Затем я попытался создания контроллера с помощью Spring аннотацию, но я получил "Путь не найден", что это я отсутствует.
Пожалуйста, смотрите код ниже:
package com.zensar.neba;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class DemoController {
@RequestMapping("/echo/{param}")
@ResponseBody
public String echo(@PathVariable("param") String paramToEcho) {
return "Hello "+ paramToEcho;
}
}
Я назвал ссылку контроллера это: http://localhost:4502/bin/mvc.do/echo/Oliver
ВАЖНО: Все мои связки активны
Привет @Olaf У меня нет этого xml-файла. можете ли вы сказать мне, где разместить этот файл в моем проекте CQ5 Maven. – Oliver
Если бы у меня было сто миллионов долларов, я бы вам их. Я добавил context.xml и все работало благодаря – Oliver