バックエンドサービスからデータを要求しているSlingAllMethodsServletを拡張し、現在レスポンスオブジェクトにJSONObjectを戻しているサーブレットがあります。私はSlingModelsを利用したいと思います。これは、私が作成したサーブレットを使用して行うことができますか、またはすべてのサーブレットコードをSlingModelクラスのactivateメソッドに配置する必要がありますか?可能であれば、例を挙げることができますか?スリングモデルを使用してバックエンドサービスからデータを取得
答えて
あなたが記述したシナリオは、OSGIサービスのバックエンドサービスおよび関連するロジックへの呼び出しをカプセル化することによって、うまく機能します。このようにサービスはサーブレットで@Reference
、スリングモデルクラスで@Inject
とすることができます。
サーブレットの作業は、参照されるサービスで適切なメソッドを呼び出し、戻り値をJSONとしてシリアライズすることになります。同様に、Sling Modelの作業は、注入されたサービスに対して適切なメソッドを呼び出し、戻り値をHTL/JSP/getterの中の何にでも公開するように減らされます。
スリングモデルは、特定のスリングリソースを表す小さなBeanを作成する機能を提供します。 たとえば、タイトルとテキストを持つリソースがあるとします。
@Model(adaptables = Resource.class)
public class TitleTextModel{
@ValueMapValue
private String text;
@ValueMapValue
private String title;
public String getText() {
return text;
}
public String getTitle() {
return title;
}
}
あなたがサーブレットからそのような何かを使用したい場合は、あなただけのappropiateリソースを取得し、あなたにそれを適応する必要があります。そして、あなたは単にスリングモデルは、Beanにそれらのプロパティを注入TitleTextModelと呼ば書くことができますモデルクラス:
TitleTextModel myModel=resource.adaptTo(TitleTextModel.class);
https://sling.apache.org/documentation/bundles/models.html#sourceに示すように、可能であればインターフェースを実装します。 Java 8の「デフォルト」メソッドでは、mixinは非常に簡単に実装でき、一般的に必要とされるモックと比較してテストが容易になり、最適なコード再利用が保証されます。 –
- 1. Pythonを使用してnetsuiteからデータを取得してプッシュ
- 2. AEM 6.3 - スリングモデルを使用したマルチフィールド
- 3. Firebaseからデータを取得し、それを使用して
- 4. Webサービスを使用してデータベースからデータを取得する
- 5. YQLとXPathを使用してHTMLからデータを取得
- 6. pythonを使用して画像ファイルからrgbデータを取得
- 7. JQueryを使用して別のPHPファイルからデータを取得
- 8. (桟橋)、Javaサーブレットを使用してURLからデータを取得
- 9. バーコードスキャナーからPHPを使用してデータを取得する
- 10. hibernateを使用してテーブルからデータを取得する
- 11. PHPを使用してJSONデータから値を取得する
- 12. RIDEを使用してMySqlからデータを取得
- 13. セレンを使用してExtJSグリッド行からデータを取得
- 14. ノードjsを使用してelasticsearchからデータを取得する
- 15. Ajaxを使用してデータベースからデータを取得する - Laravel
- 16. react.jsを使用してAPI関数からjsonデータを取得
- 17. LINQを使用してSQL Serverからデータを取得する
- 18. REST APIを使用してテーブルからデータを取得する
- 19. J2MEを使用してWMLページからデータを取得
- 20. sonarqubeのAPIを使用してメジャーフィルターからデータを取得
- 21. MSSQLからPythonを使用してデータを取得する
- 22. サーブレットを使用して外部ページからデータを取得
- 23. ノード-sqliteからデータを取得して約束を使用
- 24. Beautifilsoupを使用してテーブルから行データを取得
- 25. $ http.getを使用してSQLデータベースからデータを取得する
- 26. Where-Objectを使用してオブジェクトから他のデータを取得
- 27. bs4を使用してIDからPubMedデータを取得
- 28. HtmlAgilityPackを使用してウェブサイトからデータを取得する
- 29. サーバーjsのキーを使用してmongoからデータを取得
- 30. Nodejsを使用して動的テーブルからデータを取得
正確に何をしようとしていますか? Sling ModelのHTTPレスポンスでサーブレットが返すのと同じデータを再利用したいと思っていますか? – toniedzwiedz