javascript
如何从JSF获取JSON响应?
 許多JavaScript小部件都希望使用JSON格式的數(shù)據(jù)和選項(xiàng)。 如今,選擇一個(gè)很酷的小部件并將其包裝在一個(gè)復(fù)合組件中確實(shí)很容易。 但是第一個(gè)問(wèn)題是如何發(fā)送AJAX請(qǐng)求并以正確的JSON格式接收響應(yīng)。 JSF用戶經(jīng)常會(huì)提出這個(gè)問(wèn)題 。 您需要的只是一個(gè)XHTML facelet,如下所示: 
請(qǐng)考慮在h:outputText中使用contentType =“ text / html”(應(yīng)用程序/ json在這里不起作用)并轉(zhuǎn)義=“ false”。 Bean StationView中的getClosestStations()方法為特殊Java對(duì)象列表生成JSON輸出。 我建議使用Gson庫(kù) ,以便將任何Java對(duì)象序列化為JSON。 簡(jiǎn)短示例:
String[] strings = {"abc", "def", "ghi"}; Gson gson = new Gson(); gson.toJson(strings); ==> prints ["abc", "def", "ghi"]上面的XHTML文件位于Web上下文下。 說(shuō),在路徑/rest/stations.xhtml下。 JavaScript代碼中的Ajax調(diào)用應(yīng)如下所示:
$.ajax({url: requestContextPath + '/rest/stations.xhtml',type: "GET",data: {"longitude": x,"latitude": y},dataType: "json",success: function (data) {$.each(data, function (i, station) {...});},error: function () {...} });有關(guān)$ .ajax的更多信息,請(qǐng)參考jQuery文檔 。 注意:如果省略dataType:“ json”,則必須手動(dòng)解析JSON字符串。
success: function (data) {$.each($.parseJSON(data), function (i, station) {...}); }響應(yīng)是一個(gè)純JSON字符串(沒(méi)有HTML標(biāo)記),如下所示:
[{"latitude":46.947045,"longitude":7.443922,"distanz":110,"name":"Bern, Bundesplatz"},{....},...]需要更多有關(guān)JSF中JSON響應(yīng)的示例嗎? 在我的下一篇文章中,我可能會(huì)解釋如何在不編寫太多代碼的情況下實(shí)現(xiàn)出色的自動(dòng)完成組件。
翻譯自: https://www.javacodegeeks.com/2014/07/how-to-get-json-response-from-jsf.html
總結(jié)
以上是生活随笔為你收集整理的如何从JSF获取JSON响应?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
 
                            
                        - 上一篇: 安卓玩法网(安卓玩法)
- 下一篇: 保理业务备案管理办法(保理业务备案)
