国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html
内部邀请码:C8E245J (不写邀请码,没有现金送)
国内私募机构九鼎控股打造,九鼎投资是在全国股份转让系统挂牌的公众公司,股票代码为430719,为“中国PE第一股”,市值超1000亿元。
内部邀请码:C8E245J (不写邀请码,没有现金送)
国内私募机构九鼎控股打造,九鼎投资是在全国股份转让系统挂牌的公众公司,股票代码为430719,为“中国PE第一股”,市值超1000亿元。
------------------------------------------------------------------------------------------------------------------------------------------------------------------
一、pom.xml中加入依赖的jar包(在此感谢osc提供的maven仓库)
<!-- json --> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-core-asl</artifactId> <version>1.9.13</version> </dependency> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> <version>1.9.13</version> </dependency>
Jquery/Jquery UI中如下这样调用
function openEditDialog(id) { $.get("roll/update/" + id + ".json?ts="+ new Date().getTime(), function(data) { var t = data['roll']; var keys = [ 'id', 'serialNo', 'idNo', 'period', 'realName', 'tel', 'email', 'address', 'birth', 'password' ]; for ( var i = 0; i < keys.length; i++) { var key = keys[i]; $("#" + key).val(t[key]); } $("#roll_dialog").dialog('open'); $('.ui-button:contains("save")').show(); $('.ui-button:contains("add")').hide(); }, "json"); }
比如新增用roll/create.json,修改用roll/update/1.json (规则很简单,就是在原有REST风格的url后面拼上.json)
Controller中的代码,非常简单,试了一下,以下两种都可以。我会选第1种,更简单!
网上写的@ResponseBody啥的都不用。。
@RequestMapping("update/{id}") public void update(Model model, @PathVariable("id") Long id) { Lecturer roll = lecturerService.findLecturerById(id); model.addAttribute("roll",roll); } @RequestMapping("update/{id}") public ModelAndView update(@PathVariable("id") Long id) { ModelAndView mv = new ModelAndView(); Lecturer roll = lecturerService.findLecturerById(id); mv.addObject("roll","roll"); return mv; }
addAttribute/addObject的时候如果不写key比如这里如果不写"roll",则返回的json对象的key是这个对象的类型名(比如这里默认将会是lecturer)
最后是mvc.xml的配置(一劳永逸)
<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver"> <!-- 设置为true以忽略对Accept Header的支持 --> <property name="ignoreAcceptHeader" value="true" /> <!-- 在没有扩展名时即: "/user/1" 时的默认展现形式 --> <property name="defaultContentType" value="text/html" /> <!-- 扩展名至mimeType的映射,即 /user.json => application/json --> <property name="mediaTypes"> <map> <entry key="html" value="text/html"/> <entry key="json" value="application/json" /> <entry key="xml" value="application/xml" /> </map> </property> <!-- 用于开启 /userinfo/123?format=json 的支持,false为关闭之,我更喜欢.json的方式,因为可以少敲几次键盘 --> <property name="favorParameter" value="false" /> <property name="viewResolvers"> <list> <bean class="org.springframework.web.servlet.view.BeanNameViewResolver" /> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/"></property> <property name="suffix" value=".jsp"></property> </bean> </list> </property> <property name="defaultViews"> <list> <!-- for application/json --> <bean class="org.springframework.web.servlet.view.json.MappingJacksonJsonView" /> </list> </property> </bean>