springMVC传对象参数、返回JSON格式数据
2024-10-03 10:19:09
假如请求路径:http://localhost/test/test.do?user.id=1
后台接收参数的方法如下:
@RequestMapping("/test")
public ModelAndView test(HttpServletRequest request,HttpServletResponse response,User user) throws IOException {
response.setContentType("text/html; charset=utf-8");
PrintWriter out = response.getWriter();
System.out.println("user.id=" + user.getId()); JSONObject jsonObject=new JSONObject(); JSONObject userJson=new JSONObject();
userJson.put("id", user.getId());
userJson.put("name", "张三"); jsonObject.put("user", userJson); out.print(jsonObject.toString());
return null;//这里需return null,如果return new ModelAndView则会直接转发
}
那么在后台接收到的参数中,user对象的id属性是null。如果路径换为http://localhost/test/test.do?id=1,则user对象的id属性是1。
这里必须用id=1而不是user.id=1,因为默认情况下springMVC是不支持user.id这种传参方式的。
要想springMVC支持user.id这种传参方式,需要在controller中添加一个前缀绑定:
@InitBinder("user")
public void initBinderByUser(WebDataBinder binder) {
binder.setFieldDefaultPrefix("user.");
}
如果接收到的参数不止一个对象,比如有user、admin,则添加相应的前缀绑定:
@InitBinder("user")
public void initBinderByUser(WebDataBinder binder) {
binder.setFieldDefaultPrefix("user.");
} @InitBinder("admin")
public void initBinderByAdmin(WebDataBinder binder) {
binder.setFieldDefaultPrefix("admin.");
}
最新文章
- 【分布式】Zookeeper与Paxos
- img标签中的alt属性在IE6/7/8中的兼容问题
- 关于几种编码详解(Unicode,UTF-8,GB系列)
- Linux中vi编辑器的用法
- KDTree
- ffmpeg Windows下采集摄像头一帧数据,并保存为bmp图片
- 分布式定时任务框架比较,spring batch, tbschedule jobserver
- Android常见开源解决方案
- UIProgressView 圆角
- 项目中常用的19条MySQL优化
- android本地音乐播放器
- DAY17、常用模块
- puppeteer 填充基础表单
- Centos7下GlusterFS分布式存储集群环境部署记录
- mybatis的xml处理大于和小于号问题
- git从其他分支提取文件merge到当前分支
- SpringMVC+Shiro整合配置文件详解
- java网络编程-单线程服务端与客户端通信
- 如何对付运行时可能为 null 的 Record Type
- WordPress禁用插件另类方法不用进后台
热门文章
- Hadoop集群中pig工具的安装过程记录
- C# 数据结构--排序[上]
- [转载]Windows 7 IIS (HTTP Error 500.21 - Internal Server Error)解决
- _beginthreadex创建多线程详解
- Tesseract-OCR牛刀小试:模拟请求时的验证码识别
- python库:fuzzywuzzy
- 【面试题003】c数组做为参数退化的问题,二维数组中的查找
- Amazon Interview Question: Design an OO parking lot
- HDU 1301 Jungle Roads (最小生成树,基础题,模版解释)——同 poj 1251 Jungle Roads
- crontab 不能执行git命令问题备忘