2016-10-25 50 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