我创建了一些jsp文件,它返回一些json字符串作为响应。但我看到Content-Type自动设置为txt
我的jsp代码看起来像
<%@ page import="java.util.Random" %>
<%@ page language="java" %>
<%@ page session="false" %>
<%
String retVal = "// some json string";
int millis = new Random().nextInt(1000);
// System.out.println("sleeping for " + millis + " millis");
Thread.sleep(millis);
%>
<%=retVal%>
我怎么能表演像
setHeader("Content-Type", "application/json");
在这个例子中?
3条答案
按热度按时间vh0rcniy1#
你可以通过Page directive。
举例来说:
JSP文件用于发送给客户机的响应的MIME类型和字符编码。您可以使用对JSP容器有效的任何MIME类型或字符集。默认MIME类型为text/html,默认字符集为ISO-8859-1。
wixjitnu2#
试试这段代码,它应该也能工作
w80xi6nr3#
@Petr Mensik & kensen john
谢谢,我不能使用页面指令,因为我必须根据一些URL参数设置不同的内容类型。我将把我的代码粘贴在这里,因为它是JSON中很常见的东西:
当提供callback时,返回:
内容类型为“text/JavaScript”
当未提供callback时,返回:
内容类型为“application/json”
[编辑]我在看我的旧文章。如果您使用此解决方案,请清理您的输入!把用户输入字符串直接放在响应中是危险的。