copy地址:
http://blog.csdn.net/dangerous_fire/article/details/25904225
第一种解决方法,适用所有情况
因为在controller中返回json用了@ResponseBody,而spring源码中@ResponseBody 的实现类发现其默认的编码是 iso-8859-1,而项目用的编码为utf-8,所以传中文会出现乱码,解决办法是不用注解,直接用response,转换编码。
@RequestMapping("/modifyconfiginput")
@ResponseBody
public String modifyinput( @RequestParam(value="id") String id,
@RequestParam(value="timestamp") String timestamp,
HttpServletResponse response ) throws Exception {
ImmediateConfig ic = this.immediatePictureService.findImmediateConfig(id);
String json = "["+"{name:'"+ic.getName()+"',classId:'"+ic.getProductClass().getClassId()+"',pyFile:'"+ic.getPyFile()+"'}]";
System.out.println("json:"+json);
//return json;
// 设置response的ContentType解决中文乱码
response.setContentType("text/html;charset=UTF-8");
response.getWriter().print(json);
return null;
}
第二种解决方法,可用于新版本的spring
@RequestMapping(value="/ajaxCounterList", produces = "application/json; charset=utf-8")
注意:在IE浏览器中必须声明返回的类型,如下
@RequestMapping(value="/upload/upload",produces="text/html;charset=UTF-8")
或者用第一种方法,但也要声明为 text/html 类型,否则IE无法识别,会报错误
我是橄榄绿
分享到:
相关推荐
在.NET框架中,尤其是在MVC(Model-View-Controller)架构中,它是一个不可或缺的工具,用于序列化和反序列化JSON对象,将C#对象转换为JSON字符串,以及将JSON字符串解析回C#对象。 在C# MVC项目中,JSON处理通常...
这个项目提供的示例工程应该包含了一个工作流程的完整实例,从Ajax请求到Spring MVC的处理,再到JSON响应的返回,帮助开发者理解并掌握这一技术栈的使用。通过深入研究和实践,你将能够熟练地在自己的项目中应用这些...
在Spring MVC中,JSON主要用于将Java对象转换为JSON字符串,然后通过HTTP响应发送给客户端,或者将客户端发送的JSON数据转换为Java对象。 **一、Spring MVC 3中的JSON支持** 1. **配置依赖库**:为了处理JSON,你...
Spring MVC中的`@ResponseBody`注解可以将方法的返回值直接转换为JSON格式发送到客户端,而`@RequestBody`则可以将请求体中的JSON数据解析成Java对象。 **Jackson** Jackson是Java中广泛使用的JSON库,它可以高效地...
如果从Ajax请求中接收到的JSON数据包含了未转义的换行符,这将导致解析错误,因为JavaScript会认为这些换行符破坏了对象或数组的结构。 处理这种情况的方法有几种: 1. **服务端处理**:理想情况下,服务端应该在...
**假设场景**:一个简单的Java Web应用,使用Spring MVC框架,前端使用jQuery发起Ajax请求获取包含中文的JSON数据。 **步骤**: 1. **配置前端页面**: ```html <!DOCTYPE html> ...
当返回类型为@RequestBody或@ResponseBody时,Spring MVC会自动将返回的对象转换为JSON,发送到客户端。 三、源代码分析 1. pom.xml:项目依赖管理文件,包含了Spring MVC、Jackson库和其他相关依赖。例如,添加...
在Spring MVC中,Controller的方法参数需要是`@RequestBody`注解的,这样Spring MVC会尝试将接收到的JSON数据转化为Java对象。 2. **Content-Type设置** 要使JSON数据被正确处理,必须设置HTTP请求的`Content-...
在Spring MVC中集成Ajax,通常会在前端使用JavaScript库如jQuery来发送Ajax请求。例如,我们可以创建一个AJAX函数,通过`$.ajax()`或`$.getJSON()`等方法向后台发送异步请求。这些请求通常带有特定的URL和参数,对应...
当`readyState`变为4(表示请求已完成),且`status`为200(表示请求成功)时,我们将接收到的JSON字符串解析成JavaScript对象,并进行处理。 接下来,我们通过`open`方法打开到服务器的连接,`POST`表示我们要发送...
当从POST请求中接收到JSON字符串时,例如`$_POST['json']`,可以使用`stripslashes()`来去除字符串中的转义字符。示例如下: ```php $str = stripslashes($_POST['json']); ``` 之后,可以使用`json_decode()`函数...
在这个例子中,前端向'/api/posts'发送GET请求,Spring MVC的Controller收到请求后,查询数据库并返回JSON格式的文章列表。前端的success回调函数接收到数据后,将文章标题添加到页面的列表中。 总结起来,这个"一...
- `AjaxController.java`:实现Ajax请求处理的Controller。 - `UserService.java`和`UserServiceImpl.java`:服务层接口和实现,负责账号业务逻辑。 - `Account.java`:账号模型类。 - `js`目录下的JavaScript文件:...
3. 数据序列化与反序列化:在发送请求时,需要将JavaScript对象转换为JSON字符串,这可以通过JSON.stringify()方法实现。而在服务器端接收到JSON数据后,需要将其反序列化为Java对象,Spring MVC提供了@RequestBody...
jQuery中的AJAX请求是一种非常常见的前端异步数据交互方式,它的作用是使得页面无需重新加载即可向服务器请求数据,并将数据动态地加载到页面中。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它...
现在,当客户端发送一个包含JSON数据的POST请求到"/save"端点时,Spring MVC会自动将JSON解析为`User`对象,然后调用`save`方法。方法执行完毕后,返回的字符串会被自动转换为JSON并发送回客户端。 这个压缩包...
4. JSON字符串与JSON对象的转换:在JavaScript中,我们可以使用`JSON.stringify()`方法将JavaScript对象转换成JSON字符串,以便通过Ajax发送;而`JSON.parse()`方法则用于将接收到的JSON字符串解析成JavaScript对象...
总的来说,ThinkPHP的`success`方法不跳转页面而是输出JSON字符串,是因为它被设计用来处理API和AJAX请求,而这些请求通常需要返回可解析的数据,而不是执行页面重定向。理解和调整你的请求类型以及控制器的响应机制...
本示例将探讨如何利用jQuery的Ajax功能向Struts2框架发送请求,并以JSON格式接收响应数据。下面我们将详细讨论这些技术以及它们在实际应用中的交互过程。 首先,jQuery是一个轻量级的JavaScript库,它简化了DOM操作...
本文将深入讲解如何在Spring MVC中通过AJAX发送请求,并返回JSON(JavaScript Object Notation)数据。 首先,AJAX请求通常由JavaScript代码触发。在提供的示例中,我们看到一个名为`saveSynchronizedVcHorse`的...