spring mvc 返回json4.x怎么返回json格式

&&&&使用Spring4 MVC 构建RESTful服务器,输出JSON格式的数据结构
&使用Spring4 MVC 构建RESTful服务器,输出JSON格式的数据结构
使用Spring4 MVC 构建RESTful服务器,输出JSON格式的数据结构
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
您可能还需要
Q.为什么我点的下载下不了,但积分却被扣了
A. 由于下载人数众多,下载服务器做了并发的限制。若发现下载不了,请稍后再试,多次下载是不会重复扣分的。
Q.我的积分不多了,如何获取积分?
A. 获得积分,详细见。
完成任务获取积分。
论坛可用分兑换下载积分。
第一次绑定手机,将获得5个C币,C币可。
关注并绑定CSDNID,送10个下载分
下载资源意味着您已经同意遵守以下协议
资源的所有权益归上传用户所有
未经权益所有人同意,不得将资源中的内容挪作商业或盈利用途
CSDN下载频道仅提供交流平台,并不能对任何下载资源负责
下载资源中如有侵权或不适当内容,
本站不保证本站提供的资源的准确性,安全性和完整性,同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
开发技术下载排行
积分不够下载该资源
如何快速获得积分?
你下载资源过于频繁,请输入验证码
如何快速获得积分?
你已经下载过该资源,再次下载不需要扣除积分
使用Spring4 MVC 构建RESTful服务器,输出JSON格式的数据结构
所需积分:3
剩余积分:0
扫描微信二维码精彩活动、课程更新抢先知
VIP会员,免积分下载
会员到期时间:日
剩余下载次数:1000
VIP服务公告:spring mvc怎么在POST请求时,通过@RequestBody转换json为java Bean实体?-问答-最代码广告加载中,请稍后...&&等spring mvc怎么在POST请求时,通过@RequestBody转换json为java Bean实体?
@RequestMapping(value ={ &/userAdd& }, method = { RequestMethod.POST},produces={&application/json&},consumes={&application/json&})
public String userAdd(@RequestBody User u){
}当传入一个json之后@RequestBody会将json转为对象,但是现在要在这个User实体里面写一个操作数据库的方法,这时就要将dao的一个bean注入到User里面,不知道有没有人这么使用过?通过Spring普通注解的方式是不行的,因为这个User对象是@RequestBody转成的,不是Spring初始化时产生的,请教一下诸位大神!1个牛币所有回答列表(5)&LV2先传个字符串的json数据,然后把json格式的字符串转javabean&& 是不是更方便一点?&LV2把你准备要实现的功能说出来,我们也好说出解决方案。你直接说& &通过@RequestBody转换json为java Bean实体&& ,也许根本没必要那么做&就可以实现&。&&&&&我也用过spring MVC&在我看来&&你这个传参方式就是一个矛盾的&& User&是一个实体&&&你从jsp传过来一个JSON&&你确定 User&&可以接到?& spring MVC&这种接参方式一般是post然后form提交 form.serialize()&直接提交有User中属性名对应的&form&&&&有疑问&你可以继续问可以,只要页面传过来的json格式和javabean的属性相对应,然后在javabean要做一些注解,比如那些列不需要的。这个你只要将javabean 作为方法的参数即可,但你的表单name的属性值要与javabean的对象属性名一致等等等等等完等等完等完等最热搜索问答话题编程语言基础Web开发数据库开发客户端开发脚本工具游戏开发服务器软硬件开源组件类库相关问答等等等完等完完完完等等等最近浏览暂无贡献等级暂无贡献等级暂无贡献等级暂无贡献等级暂无贡献等级暂无贡献等级暂无贡献等级暂无贡献等级暂无贡献等级扫描二维码关注最代码为好友"/>扫描二维码关注最代码为好友spring MVC 返回json - 简单的幸福 - ITeye技术网站
博客分类:
spring MVC如何返回json呢?
有两种方式:
方式一:使用ModelAndView
@ResponseBody
@RequestMapping("/save")
public ModelAndView save(SimpleMessage simpleMessage){
//查询时可以使用 isNotNull
if(!ValueWidget.isNullOrEmpty(simpleMessage)){
//把对象中空字符串改为null
ReflectHWUtils.convertEmpty2Null(simpleMessage);
} catch (SecurityException e) {
e.printStackTrace();
} catch (NoSuchFieldException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
simpleMessage.setCreateTime(TimeHWUtil.getCurrentTimestamp());
simpleMessage.setHasReply(Constant2.SIMPLE_MESSAGE_HAS_REPLY_NOT_YET);
this.simpleMessageDao.add(simpleMessage);
Map map=new HashMap();
map.put("result", "success");
return new ModelAndView(new MappingJacksonJsonView(),map);
方式二:返回String
* {"fileName":"09_571slide4.jpg","path":"D:\\software\\eclipse\\workspace2\\demo_channel_terminal\\upload\\image\\09_571slide4.jpg"}
* @param file
* @param request
* @param response
* @throws IOException
@ResponseBody
@RequestMapping(value = "/upload")
public String upload(
@RequestParam(value = "image223", required = false) MultipartFile file,
HttpServletRequest request, HttpServletResponse response)
throws IOException {
String content =
Map map = new HashMap();
if (ValueWidget.isNullOrEmpty(file)) {
map.put("error", "not specify file!!!");
System.out.println("request:" + request);// org.springframework.web.multipart.support.DefaultMultipartHttpServletRequest@
System.out.println("request:" + request.getClass().getSuperclass());
// // System.out.println("a:"+element+":$$");
String fileName = file.getOriginalFilename();// 上传的文件名
fileName=fileName.replaceAll("[\\s]", "");//IE中识别不了有空格的json
// 保存到哪儿
String finalFileName = TimeHWUtil.formatDateByPattern(TimeHWUtil
.getCurrentTimestamp(),"yyyyMMddHHmmss")+ "_"
+ new Random().nextInt(1000) + fileN
File savedFile = getUploadedFilePath(request,
Constant2.UPLOAD_FOLDER_NAME + "/image", finalFileName,
Constant2.SRC_MAIN_WEBAPP);// "D:\\software\\eclipse\\workspace2\\demo_channel_terminal\\ upload\\pic\\ys4-1.jpg"
System.out.println("[upload]savedFile:"
+ savedFile.getAbsolutePath());
file.transferTo(savedFile);
} catch (Exception e) {
e.printStackTrace();
ObjectMapper mapper = new ObjectMapper();
map.put("fileName", finalFileName);
map.put("path", savedFile.getAbsolutePath());
content = mapper.writeValueAsString(map);
System.out.println(content);
} catch (JsonGenerationException e) {
e.printStackTrace();
} catch (JsonMappingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
System.out.println("map:"+map);
* {"fileName":"09_571slide4.jpg","path":"D:\\software\\eclipse\\workspace2\\demo_channel_terminal\\upload\\image\\09_571slide4.jpg"}
两种方式有什么区别呢?
方式一:使用ModelAndView的contentType是"application/json"
方式二:返回String的
contentType是"text/html"
那么如何设置response的content type呢?
使用注解@RequestMapping 中的produces:
@ResponseBody
@RequestMapping(value = "/upload",produces="application/charset=UTF-8")
public String upload(HttpServletRequest request, HttpServletResponse response,String contentType2)
throws IOException {
String content =
Map map = new HashMap();
ObjectMapper mapper = new ObjectMapper();
map.put("fileName", "a.txt");
content = mapper.writeValueAsString(map);
System.out.println(content);
} catch (JsonGenerationException e) {
e.printStackTrace();
} catch (JsonMappingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
if("json".equals(contentType2)){
response.setContentType(SystemHWUtil.RESPONSE_CONTENTTYPE_JSON_UTF);
@RequestMapping(value = "/upload",produces="application/charset=UTF-8")
@RequestMapping(value = "/upload",produces="application/json")
spring 官方文档说明:
Producible Media Types
You can narrow the primary mapping by specifying a list of producible media types. The request will be matched only if the Accept request header matches one of these values. Furthermore, use of the produces condition ensures the actual content type used to generate the response respects the media types specified in the producescondition. For example:
@Controller
@RequestMapping(value = "/pets/{petId}", method = RequestMethod.GET, produces="application/json")
@ResponseBody
public Pet getPet(@PathVariable String petId, Model model) {
Just like with consumes, producible media type expressions can be negated as in !text/plain to match to all requests other than those with an Accept header value oftext/plain.
The produces condition is supported on the type and on the method level. Unlike most other conditions, when used at the type level, method-level producible types override rather than extend type-level producible types.
参考:/blog/2128296
/blog/2124313
浏览 11317
浏览: 942406 次
来自: 北京
HttpStatus.CREATED 改为HttpStatus ...
楼主我给补充了一下 嘿嘿
public class FileUtil {
FileUtils 这个类没有源码
怎么我改为html格式显示 不了和你一样的springMVC传递JSON格式数据
这两天在使用SpringMVC传递JSON数据格式,出现了各种令人头大的问题,但是功夫不负有心人,最后还是解决了问题。在这里记录下来供大家参考,如有不对,还请各位大侠指正。
在SpringMVC传递JSON数据格式需要加入两个jar包:com.springsource.org.codehaus.jackson-1.4.2.jar,com.springsource.org.codehaus.jackson.mapper-1.4.2.jar。
实体JavaBean:Person 具有tname,gender,age 三个String类型的属性,在这里我们需要特别注意,Person需要一个无参构造函数,否则就会出现415代码错误。
前台ajax函数:
url:&ajaxs&,//注意在这里的请求路径上面不能加上&/&否则就会出现400错误,无法找到请求路径
type:&POST&,
contentType: &application/json&,//不加此项就会出现415错误代码
dataType:&JSON&,
data:JSON.stringify({&tname&:&张三&,&gender&:&male&,&age&:&20&}),//在这里的参数我最开始一直都使用
{&tname&:&张三&,&gender&:&male&,&age&:&20&},结果导致一直出现400错误,表示前台到后台的数据不匹配
success:function(data,status){alert(&ok&);},
error:function(){alert(&error&);},
fail:function(){alert(&fail&);}
@RequestMapping(value=&/ajaxs&,method=RequestMethod.POST)
@ResponseBody
public Person ajax(@RequestBody Person p)
p.setTname(&lisi&);
System.out.println(&ok&);
在这里我不得不叹服SpringMVC的强大,仅仅使用@Requestbody和@ResponseBody就能实现javabean与JSON数据格式之前的传递。可能我们在网上查到说,在使用springMVC中使用JSON格式传递的时候需要配置一些数据转换器之类的东西,但是在SpringMVC3.X以后我们仅仅只需要一个 就可以将各种数据转换器加入进来。springMVC 返回json数据 前台jquery easyui 接受json却提示 下载update.action-中国学网-中国IT综合门户网站
> springMVC 返回json数据 前台jquery easyui 接受json却提示 下载update.action
springMVC 返回json数据 前台jquery easyui 接受json却提示 下载update.action
转载 编辑:李强
为了帮助网友解决“springMVC 返回json数据 前”相关的问题,中国学网通过互联网对“springMVC 返回json数据 前”相关的解决方案进行了整理,用户详细问题包括:jpg" target="_blank" title="点击查看大图" class="ikqb_img_alink"><img class="ikqb_img" src="http.hiphotos.hiphotos.baidu://f<a href="/zhidao/wh%3D450%2C600/sign=7e2980edddc451daf6a304ef83cd7e50/fcfaaf51f3deb48fe9a8b96df01f3a292cf578bb.baidu./zhidao/wh%3D600%2C800/sign=eed21b799c26e39d5ef1fc/fcfaaf51f3deb48fe9a8b96df01f3a292cf578bb.jpg" esrc="/f.com/zhidao/pic/item/fcfaaf51f3deb48fe9a8b96df01f3a292cf578bb://f,具体解决方案如下:解决方案1:put(&) S $(&#39?id=&#39, true);)&#39;id&close&#39.update(tree);#dg-bills&#39.put(&options&#39.msg });#fm-bill&#39;); var editUrl = $(&#39.find(id), true);).progress();.form(&#39;操作失败&quot.success){ $(&#39:function(result){ $;); }; if ().messager:function(){ var isValid = $(this);, & } return result? createU tree.setpId(pId););)msg&quot.printStackTrace();&#47, { onS操作成功& result = new HashMap&open&pId&target&.setName(name);reload&#39, msg.js$(&#39;(&#39;;name&quot.form(&#39;(), Object&#dlg-bill&#39;, Object&gt.datagrid(&#39;), @RequestParam(&quot后台TreeCclose&#39;#dg-bills&#39.editUrl + &#39:&#39.datagrid(&#39;;).createUrl, @RequestParam(& } catch (Exception e) {) String target) throws Exception { Map&lt, @RequestParam(& } else { $;); var createUrl = $(&#39.dialog(&#39, Object&submit&#39;);#dlg-bill&#39;validate&#39, (submitType==2 ;String.datagrid(&#39.setOpen(open).success& try { Tree tree = service.show({ + result + &#39; if (isValid){ $;);); result: tree.setUrl(url); @ResponseBody @RequestMapping(value=&quot, @RequestParam(& }前台jquery common.put(&quot, @RequestParam(&); } } }).put(& $(&#39;failure&);update&).progress(&#39;) &#47;refresh&#39;) String url, var result = eval(&#39.#dg-bills&#39;Soptions&#39.dialog(&#39; + } return isV) int pId;提示&#39;;msg&&#47;Surl&quot, &quot.billId;** * 修改树形数据 * @param id * @param pId * @param name * @param open * @param url * @param target * @return * @throws Exception *&#47; update(@RequestParam(&quot: editUrl)).setTarget(target);).java&#47;) public Map&lt解决方案2:在配置文件已经配置过了啊~ 应该怎么继续怎么做呢通过对数据库的索引,我们还为您准备了:问:后台TreeController.java /** * 修改树形数据 * @param id * @param pId...答:struts里面出现这种情况是在配置里面加上 如下配置: text/html spring应该也类似吧...===========================================问:@RequestMapping(value = "/noaccess") public ModelAndView noaccess(H...答:亲应该说明filter的作用,目测你的retMsg是放在response中,request应该是取不到的。 希望有帮助!===========================================问:@RequestMapping(value = "/noaccess") public ModelAndView noaccess(H...答:首先,能够接收到数据,说明你已经发送了http请求。 一般数据处理都是在回掉函数里面进行的。 比如: // Simple GET request example :$http.get('/someUrl'). success(function(data, status, headers, config) { // this callback will be cal...===========================================问:@RequestMapping(value = "/noaccess") public ModelAndView noaccess(H...答:先配置 XXX_ servletxml 再然后Action方法里注解就可以 @RequestMapping(value="/XXXXXX", method = RequestMethod.POST) @ResponseBody public 返回类型 XXXXXX(){ }===========================================问:@RequestMapping(value = "/noaccess") public ModelAndView noaccess(H...答:在spring的配置文件中加上下面一段话 text/charset=UTF-8===========================================问:@RequestMapping(value = "/noaccess") public ModelAndView noaccess(H...答:先配置 XXX_ servletxml 再然后Action方法里注解就可以 @RequestMapping(value="/XXXXXX", method = RequestMethod.POST) @ResponseBody public 返回类型 XXXXXX(){ }===========================================问:@RequestMapping(value = "/noaccess") public ModelAndView noaccess(H...答:没办法,json是javascript里的概念,springmvc是java中的框架,springmvc可以返回POJO,也可以返回json格式的字符串。===========================================问:@RequestMapping(value = "/noaccess") public ModelAndView noaccess(H...答:$.post( "访问的路径(例如action等)", 参数(空时为null), function(json){//返回的数据 //处理数据 }, "json"//数据类型 );===========================================问:@RequestMapping(value = "/noaccess") public ModelAndView noaccess(H...答:public @ResponseBody XXXObject MethodName(@Param Xxxxx xxxxx) { ...}controller 方法加入这个@ResponseBody 注解,并且项目引入 jackson com.fasterxml.jackson.corejackson-core${jackson.version}com.fasterxml.jackson.corejackson-datab...===========================================
本文欢迎转载,转载请注明:转载自中国学网: []
用户还关注

我要回帖

更多关于 spring mvc 返回json 的文章

 

随机推荐