2016-10-25 90 views
0

因此,我正在處理舊的應用程序,並且此時我不得不使用JSP,這是我非常不熟悉的(並且不熟悉Web開發的大多數方面tbh) 。在JSP頁面中響應JSON數組

我在Java類方法中使用JSONSimple生成JSON數組,然後從GET請求上的JSP中調用該方法以獲取JSON。聽起來很簡單。

當我在瀏覽器中訪問URL時,我能夠獲得我的JSON。現在我試圖從另一個應用程序訪問我的JSP頁面,這就是我遇到困難的地方。我的「JSON」的內容類型是text/html,而不是JSON,因此我嘗試在JSP中將內容類型設置爲JSON,現在瀏覽器中沒有顯示任何內容,並且我的Spring應用程序在我嘗試從URL獲取JSON:無法讀取文件:沒有內容映射由於結束輸入在....

這裏是我的JSP:

<%@ page import="com.company.Someclass" %> 

<% if(request.getMethod().equals("GET")){ 
    response.setContentType("application/json"); 
    Someclass.getJSONArray(); 
} 
else if(request.getMethod().equals("POST")){ 
    //todo 
} 

%> 

任何幫助將不勝感激因爲我現在很迷茫。謝謝!

+0

可能重複的方法http://stackoverflow.com/questions/10595775/set-content-type-to- application-json-in-jsp-file – Matt1776

+0

@ Matt1776已經嘗試過那個解決方案,並且沒有運氣:/ – hip

+0

你能告訴你如何使用這個解決方案嗎?使用REST客戶端來測試您的網址(我喜歡Chrome上的Postman)。 – AxelH

回答

0

自己修復了這個問題。我能夠在瀏覽器中獲得JSON,但在我的Spring應用程序中閱讀時遇到問題。但那又是一場戰鬥。這裏是我的解決方案:

<%@ page import="com.company.Someclass" %> 

<% String ret = ""; 
if(request.getMethod().equals("GET")){ 
    response.setContentType("application/json"); 
    Someclass.getJSONArray().toJSONString(); 
} 
else if(request.getMethod().equals("POST")){ 
    //todo 
} 

%> 

<%= ret %> 

的toJSONString()是JSON-簡單的JSONArray類

+0

基本上我是返回一個JSON對象而不是一個字符串,瀏覽器,顯然我的Spring不知道如何處理它。 – hip