c web ajax控制器返回json,spring-mvc-6-控制器返回json类型数据

第一个实例

导入jar包如下:

jackson-annotations-2.1.5.jar

jackson-core-2.1.5.jar

jackson-databind-2.1.5.jar

1.控制器中的方法

@Controller

public class SpringMVCTestNew {

@Autowired

private EmployeeDao employDao ;

/**

* 测试返回json数据

* @return

*/

@ResponseBody

@RequestMapping("/testJson")

public Collection testJson()

{

return employDao.getAll();

}

}

2.index.jsp

$(function(){

$("#testJson").click(function(){

var url = this.href;

var args = {};

$.post(url, args, function(data){

console.log(data)

for(var i = 0; i < data.length; i++){

var id = data[i].id;

var lastName = data[i].lastName;

alert(id + ": " + lastName);

}

});

return false;

});

})

ajax测试返回json格式的数据

实现原理

HttpMessageConverter 是 Spring3.0 新添加的一个接口,负责将请求信息转换为一个对象(类型为 T),将对象(类型为 T)输出为响应信息

d4027d69a8fc?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

Paste_Image.png

HttpMessageConverter的实现类

d4027d69a8fc?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

Paste_Image.png

加入 jackson jar 包后, RequestMappingHandlerAdapter

装配的 HttpMessageConverter 如下:

d4027d69a8fc?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

Paste_Image.png

当控制器处理方法使用到 @RequestBody/@ResponseBody 或

HttpEntity/ResponseEntity 时, Spring 首先根据请求头或响应头的

Accept 属性选择匹配的 HttpMessageConverter, 进而根据参数类型或泛型类型的过滤得到匹配的 HttpMessageConverter, 若找不到可用的

HttpMessageConverter 将报错.

@RequestBody 和 @ResponseBody 不需要成对出现

d4027d69a8fc?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

Paste_Image.png

关于国际化:

新建三个国际化资源文件:

i18n.properties文件内容:

d4027d69a8fc?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

Paste_Image.png

i18n_zh_CN.properties中文文件内容:

d4027d69a8fc?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

Paste_Image.png

i18n_en_US.properties英文文件内容:

d4027d69a8fc?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

Paste_Image.png

配置springmvc.xml

在页面上能够根据浏览器语言设置的情况对文本(不是内容), 时间, 数值进行本地化处理, 使用 JSTL 的 fmt 标签

在WEB_INF/views/i18n.jsp中使用fmt标签

配置springmvc.xml文件直接访问i18n.jsp

用户名

此时如果在浏览器改变浏览器的语言设置为英文,再次访问则会显示 username

可以在 bean 中获取国际化资源文件 Locale 对应的消息, 在 bean 中注入 ResourceBundleMessageSource 的示例, 使用其对应的 getMessage 方法即可

在controller的目标方法中获取国际化属性:

@RequestMapping("/i18n")

public String testI18n(Locale locale){

String val = messageSource.getMessage("i18n.user", null, locale);

System.out.println(val);

return "i18n";

}

可以通过超链接切换 Locale, 而不再依赖于浏览器的语言设置情况, 配置 LocalResolver 和 LocaleChangeInterceptor

配置springmvc.xml配置文件

修改 i18n.jsp 页面

中文

英文

d4027d69a8fc?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

Paste_Image.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值