Ajax(异步 JavaScript 和 XML)作为一种创建交互式、快速动态网页应用的网页开发技术,在Spring MVC框架中备受青睐。Spring MVC作为提供了构建 Web 应用程序的全功能 MVC 模块,前端开发中经常会用到Ajax网页开发技术。本文就为小伙们们介绍一下在Spring MVC中使用Ajax。
一般情况下,Spring MVC中使用Ajax有两种方法,第一种是根据servlet API来使用ajax,第二种是根据Spring MVC给我们提供的API来使用。
一、根据servletAPI
Spring MVC配置文件如下:
<!-- 配置handerAdapter 适配器 -->
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>
<!-- spring容器扫描指定包下的所有类,如果类上有注解 那么根据注解产生相应bean对象已经映射信息 -->
<context:component-scan base-package="cn.sxt.controller"/>
具体controller如下:
@RequestMapping("/ajax.do")
public void ajax(HttpServletRequest req,HttpServletResponse resp) throws IOException{
resp.getWriter().print("ajax data");
}
第一种方法非常简单,这种使用ajax的方式只能携带比较简单的字符串,如果要携带复杂对象,就需要自己转换为json格式,比较麻烦。
二、根据springMVC提供的API
Spring MVC配置文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<!-- json配置 -->
<!-- 用于将对象转换为 JSON -->
<bean id="stringConverter"
class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/plain;charset=UTF-8</value>
</list>
</property>
</bean>
<bean id="jsonConverter"
class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"></bean>
<bean
class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean="stringConverter" />
<ref bean="jsonConverter" />
</list>
</property>
</bean>
<!-- spring容器扫描指定包下的所有类,如果类上有注解 那么根据注解产生相应bean对象已经映射信息 -->
<context:component-scan base-package="com.mxf.controller" />
</beans>
配置文件中原来的注解适配器可以去掉,因为ajax的格式转换的配置是在注解适配器中,故不需要原来的单纯的注解适配器,如果再加上原来的适配器,会出现报错的情况。
具体controller如下:
package com.mxf.controller;
import java.util.ArrayList;
import java.util.List;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.mxf.domain.User;
@Controller
public class AjaxController {
@RequestMapping("aj.do")
@ResponseBody
public List list(){
List list = new ArrayList();
list.add(new User(1,"alex",22));
list.add(new User(2,"jane",25));
list.add(new User(3,"mike",26));
list.add(new User(4,"jake",28));
return list;
}
}
我们在controller中需要注意的是:方法上必须加@ResponseBody,如果不加该注解标签,则Spring MVC会报404错误。
Spring MVC中使用Ajax是一个大胆的尝试,毫不夸张的说Ajax的使用对Spring MVC来说无疑是如虎添翼,本身Spring MVC框架作为前端WEB开发的利器,而Ajax可以使网页实现异步更新,两者的结合堪称完美。幸运的是,本站的Spring MVC视频教程和Ajax视频教程同时上线,我们可以同时在线学习这两门热门技术,无论是求职还是加薪都是必备好技术!
QCode09-04 14:38
Code大师09-04 14:50
不写代码你养我啊08-23 11:14
不写代码你养我啊09-17 18:02
要学习了06-18 18:13