开发者社区> bboss> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

bboss mvc处理ajax get方法中文乱码方式纪实

简介: bboss mvc处理ajax get方法中文乱码方式纪实: 尹标平(122054810)  22:46:16 关于胡雅辉同学所提ajax get方式提交中文参数乱码问题解决办法: $.ajax({ url:'${pageContext.
+关注继续查看
bboss mvc处理ajax get方法中文乱码方式纪实:
尹标平(122054810)  22:46:16
关于胡雅辉同学所提ajax get方式提交中文参数乱码问题解决办法:
$.ajax({
					url:'${pageContext.request.contextPath}/utf8/generalAjaxGet.page',
					contentType : "application/x-www-form-urlencoded",    
					type:'get',
					dataType:'json',
					data:{
							id:id,
							name:encodeURIComponent(name),
							remark:encodeURIComponent(remark)
						},
					success:function(json){
						alert(json.data);
					}	
				});

在jsp页面的js函数中,对包含中文的name,remark参数采用encodeURIComponent函数编码,例如:remark:encodeURIComponent(remark)

服务器端SimpleEntity对象中的属性name和remark分别添加@RequestParam注解,并指定decodeCharset属性为UTF-8:
@RequestParam(decodeCharset="UTF-8")
	private String name;
	@RequestParam(decodeCharset="UTF-8")
	private String remark;

问题即可解决,目前只想到这个办法,至于其他方法暂时没有想到
尹标平(122054810)  23:00:35
同时服务器端控制器方法要改为,这样数据到客户端后就不会有乱码:
public @ResponseBody AjaxResponseBean generalAjaxGet(SimplEntity entity, HttpServletRequest request,HttpServletResponse response){
		AjaxResponseBean ajaxResponseBean=new AjaxResponseBean();
		ajaxResponseBean.setStatus("success");
		try {
			ajaxResponseBean.setData(entity);

		
		} catch (Exception e) {
			ajaxResponseBean.setStatus("error");
			ajaxResponseBean.setData(e.getMessage());
		}
		return ajaxResponseBean;
	}

这样MVC框架的Json转换插件自动会把数据转换为json格式响应到客户端,客户端获取json结果数据的最终方式为:
$.ajax({
					url:'${pageContext.request.contextPath}/utf8/generalAjaxGet.page',
					contentType : "application/x-www-form-urlencoded",    
					type:'get',
					dataType:'json',
					data:{
							id:id,
							name:encodeURIComponent(name),
							remark:encodeURIComponent(remark)
						},
					success:function(json){
						alert(json.data.name);
						alert(json.data.remark);
					}	
				});

尹标平(122054810)  23:03:09
同时要确保bboss-mvc的httpMessageConverters中有以下配置项:
<property class="org.frameworkset.http.converter.json.MappingJacksonHttpMessageConverter"/>

尹标平 共享文件 1 个 23:04:00
  utf8.zip
下载 | 查看全部
尹标平(122054810)  23:05:17
改造后的程序在共享文件中的uft8.zip,可以在共享区下载
尹标平(122054810)  23:06:31
或者到以下地址下载:
http://www.bbossgroups.com/file/download.htm?fileName=utf8.zip

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
bboss mvc控制器方法跳转地址设置方法介绍
bboss mvc控制器方法跳转地址设置方法介绍 1.直接指定跳转地址 public String showlistjsp(ModelMap model) { List beans = null; try { beans = (List) SQLExecutor.
664 0
bboss mvc json插件设置日期类型格式方法
bboss mvc json插件设置日期类型格式方法 一般的json请求都有返回日期类型的数据,bboss mvc json插件在不指定日期格式dateformat的情况下,默认将日期类型的数据转换为长整型的数据,我们可以通过以下方式制定全局的日期转换格式: 修改bboss-mvc.
576 0
bboss mvc控制器实现etag和last modify两种http缓存机制
bboss mvc控制器实现etag和last modify两种http缓存机制(本文参考《聊聊高并发系统之HTTP缓存》编写) 1.缓存控制器实现 缓存控制器的类文件: HttpCache.
900 0
bboss mvc @RequestBody注解使用说明
@RequestBody可以将客户端请求报文体通过数据类型转换后绑定为mvc控制器方法参数,@RequestBody有一个datatype属性,用来指定请求报文的数据格式,目前支持json,xml,String三种类型。
520 0
bboss mvc控制器方法响应报文注解ResponseBody使用说明
bboss mvc控制器方法响应报文注解ResponseBody使用说明 @ResponseBody注解被应用于控制器方法的响应值上,可以为应用程序丰富便捷的功能,下面分别说明。 1.将字符串作为响应报文返回到客户端 public @ResponseBody String deleteRequester( String id) 可以在bboss-mvc.
541 0
bboss mvc启动事件监听器使用方法
在实际应用,往往需要在mvc容器启动后执行相应的操作,bboss提供了mvc容器启动监听器来达成这个目的,本文详细介绍bboss mvc启动事件监听器使用方法。 1.首先要实现一个ioc容器监听器,这个监听器只要实现接口即可: org.
539 0
bboss mvc接收和响应xml格式数据的方法
本文介绍bboss mvc接收和响应xml格式数据的方法 1.首先需要在bboss-mvc.xml文件中配置bboss mvc处理xml报文的插件XMLHttpMessageConverte:                                            org.
573 0
bboss mvc忽略对bean属性进行参数绑定方法
bboss mvc忽略对bean属性进行参数绑定方法非常简单,通过在bean的属性上添加@IgnoreBind注解即可,参考示例如下: import org.frameworkset.util.
454 0
bboss mvc参数绑定注解RequestParam使用说明
bboss mvc参数绑定注解RequestParam使用说明 @RequestParam作为控制器方法参数、bean对象属性的注解,可以起到以下5个作用: 1.指定方法参数与request请求参数名称的映射关系 方法参数-当方法参数名称yournames和request参数名称name不...
578 0
bboss mvc参数绑定注解MapKey使用说明
bboss mvc参数绑定注解MapKey主要具备以下三个功能: 1.用于注解控制器方法map类型参数,map类型参数主要用来把表单中的多条记录转换为po对象,并以MapKey注解指定的value属性对应的参数值作为key将po对象put到map对象中,以下是一个具体的实例: 控制方法 ...
685 0
+关注
bboss
热衷开源,主要开源作品:开源框架bboss,bboss session,bboss 序列化等 bboss特色:http://yin-bp.iteye.com/blog/1080824
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Java Spring Boot开发实战系列课程【第7讲】:Spring Boot 2.0安全机制与MVC身份验证实战(Java面试题)
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载