我有一個servlet擴展了SlingAllMethodsServlet,它正在向後端服務請求數據,並且當前正在響應對象中發回一個JSONObject。我想利用SlingModels。這可以使用我創建的servlet來完成,還是必須將我的所有servlet代碼放入SlingModel類的activate方法中?如果有可能,你能否提供一個例子?使用吊索模型從後端服務獲取數據
0
A
回答
0
您描述的場景將通過將調用封裝到您的後端服務以及OSGI服務中的關聯邏輯來很好地服務。通過這種方式,您的服務可以是@Reference
d,您的Sling Model課程可以編輯@Inject
。
然後,Servlet的工作將被簡化爲在所引用的Service上調用適當的方法並將返回值序列化爲JSON。同樣,Sling模型的工作將被簡化爲在注入的Service上調用適當的方法,並將返回值暴露給HTL/JSP/getter中的任何內容。
0
吊索模型的作用是讓您能夠創建代表特定吊索資源的小型bean。例如,您可能有一些具有標題和文本的資源。然後,你可以簡單地寫一個吊帶型號叫做TitleTextModel是注入這些屬性到一個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;
}
}
如果你想使用類似的東西從你的servlet,你只需要獲取此時,相應的資源,並使其適應你的模型分類:
TitleTextModel myModel=resource.adaptTo(TitleTextModel.class);
+0
如果可能,我會實現接口,如圖所示:https://sling.apache.org/documentation/bundles/models.html#source。使用Java 8'default'方法,mixin可以非常容易地實現,與通常所需的模擬相比,可以更輕鬆地進行測試,並確保最佳的代碼重用。 –
相關問題
- 1. 從吊索/ CQ中獲取OSGi服務
- 2. 無法從服務器端使用Ionic和Express.js從客戶端獲取數據
- 3. 模型應用服務調用獲取數據
- 4. md-autocomplete angular2從服務器獲取數據(使用服務)
- 5. 從SQL Server(服務器端)獲取數據到JavaScript(客戶端)
- 6. 如何從服務器端的jqgrid獲取搜索參數?
- 7. 如何使用Backbone.js從服務器獲取模型集合?
- 8. 從索引數據庫獲取所有數據並使用post方法將其插入到服務器端
- 9. Joomla從後端模型獲取SEF前端URL
- 10. 使用服務獲取json數據
- 11. Http客戶端不能從Web服務器獲取JSON數據
- 12. 客戶端從服務器獲取新數據
- 13. 從JS變量的服務器端變量中獲取數據?
- 14. 從jquery客戶端表單獲取數據到python服務器
- 15. 從服務器獲取數據後的回調函數
- 16. 如何在Android中使用後臺服務獲取數據?
- 17. 從服務器獲取數據Objective-C
- 18. 從Django服務獲取JSON數據
- 19. Android,從服務器獲取數據
- 20. 從服務器獲取json數據
- 21. 從週期服務器獲取數據
- 22. 從服務中獲取數據android
- 23. 如何從Android服務獲取數據?
- 24. HorizontalScrollView從服務器獲取數據
- 25. Javascript從Web服務獲取數據
- 26. 從android上獲取服務數據
- 27. 無法從RIA服務獲取數據
- 28. 角從服務器獲取數據MVC
- 29. 從共享服務獲取數據angular2
- 30. iOS從服務器獲取數據
你究竟想要做什麼?我是否理解您希望重用與Sling Model中的HTTP響應中Servlet返回的數據相同的數據? – toniedzwiedz