Spring MVC中ajax返回json数据
2015-11-30 20:15
435 查看
Spring MVC返回JSon数据
首先在Spring的配置文件中配置
例如在上例中,就是将一个继承View的 JsonView 解析为 jsonView ,从而在controller中可以直接根据
new ModelAndView("jsonView"); 就可以拿取到所需要的view。
DispatcherServlet会加载所有的viewResolver到一个list中,并按照优先级进行解析。注意order中的值越小,优先级越高。而id为viewResolver的viewResolver的优先级是最低的。
JsonView中的代码是
到controller层以后直接在原先的方法中返回 return
new ModelAndView("jsonView");
首先在Spring的配置文件中配置
<pre name="code" class="html"><bean class="org.springframework.web.servlet.view.BeanNameViewResolver"> <property name="order" value="1" /> </bean> <bean id="jsonView" class="com.byd.intranet.util.JsonView" />
BeanNameViewResolver的意思是 <span style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;">将逻辑视图名字解析为bean的Name属性,从而根据name属性,找定义View的bean</span>
例如在上例中,就是将一个继承View的 JsonView 解析为 jsonView ,从而在controller中可以直接根据
new ModelAndView("jsonView"); 就可以拿取到所需要的view。
我们不想只使用一种视图解析器的话,可以在[spring-dispatcher-name]-servlet.xml定义多个viewResolver: <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/jsp/"/> <property name="suffix" value=".jsp"/> </bean> <bean id=”beanNameViewResolver” class=”...BeanNameViewResolver”> <property name="order" value="1"></property> </bean> <bean id=”beanNameViewResolver” class=”...XmlViewResolver”> <property name="order" value="0"></property> </bean>
DispatcherServlet会加载所有的viewResolver到一个list中,并按照优先级进行解析。注意order中的值越小,优先级越高。而id为viewResolver的viewResolver的优先级是最低的。
JsonView中的代码是
public class JsonView extends AbstractView { @Override protected void renderMergedOutputModel(Map<String, Object> model, HttpServletRequest request, HttpServletResponse response) throws Exception { List<String> list = new ArrayList<String>(); list.add("success"); list.add("test"); list.add("test1"); PrintWriter out = response.getWriter(); Gson json = new Gson ();<span style="white-space:pre"> </span>---这里的Gson是一个google的json解析包 String str = json.toJson(list); out.print(str); }}前台直接发送ajax
function importLines(){ //拿取选中的明细 var PONum = $("#importPONum").find("option:selected").text(); $.ajax({ url : '/BYD_GIB/import/importControlImportLines.do', type:"post", contentType : "application/x-www-form-urlencoded;charset=utf-8", processData : true, dataType : "json", data : {PONum:PONum}, success : function(data){ alert("导入成功,请重新查询!"+data); }, error: function (xhr, ajaxOptions, thrownError) { alert("导入成功,请重新查询!"); } }) }
到controller层以后直接在原先的方法中返回 return
new ModelAndView("jsonView");
相关文章推荐
- Java反射机制
- Eclipse 插件安装方式
- Java基础语法,基本数据类型
- 杭电ACM1060 Leftmost Digit
- 为树莓派安装配置openJDK
- 杭电ACM1098 Ignatius's puzzle
- eclipse--build path功能总结
- java序列化和反序列化
- java实现导入导出
- How to deal ERROR: JAVA_HOME is set to an invalid directory.
- 常用的几款JDK监控和故障处理工具
- Spring Profiles example--转载
- spring开发相关网址
- 在MyEclipse中通过build.xml导入项目
- sphinx里 java接口中对错误信息封装的一点记录
- Java 文件IO续
- quartz集群搭建(整合spring)
- 杭电ACM1006 Tick and Tick
- Eclipse 调试 Java 程序的技巧
- java List 排序 Collections.sort() 对 List 排序