我一直在尝试在AEM6/CQ5中集成Spring框架。集成AEM/CQ5和Spring框架?
我正在学习本教程。 LINK
根据教程我安装了NEBA软件包。 所有NEBA软件包在OSGi控制台中都处于活动状态。
然后我创建了我自己的Maven CQ5项目,我添加了Neba注释和Spring的依赖关系。我的项目也在CQ5中成功部署(捆绑包处于活动状态)。
我试着使用NEBA的ResourceModel注释。但是这个模型没有出现在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>
然后我试图使用春注解创建控制器但我得到“找不到路径”我是什么失踪。下面
请参阅代码:
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