私はAEM6/CQ5内でSpringフレームワークを統合しようとしています。AEM/CQ5とSpringフレームワークの統合
私はこのチュートリアルに従っています。 LINK
私はNEBAパッケージをインストールしました。 すべてのNEBAバンドルは、OSGiコンソールでアクティブです。
私は自分のMaven CQ5プロジェクトを作成しました。NebaアノテーションとSpringの依存関係を追加しました。私のプロジェクトもCQ5に正常に導入されました(バンドルはアクティブです)。
NEBAのResourceModelアノテーションを使用しようとしました。しかし、このモデルはNEBAのモデルレジストリには現れません。 "linkComponent"を作成したコンテンツコンポーネントにResourceModelをマップしました。
ユーザがドラッグおよび任意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;
}
}
linkComponent以下のJSPコードを参照してください:
<%@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