关于springmvc的ajax操作

来源:互联网 发布:爱淘宝每日红包 编辑:程序博客网 时间:2024/06/03 17:40

关于web.xml中的配置:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
<display-name>springmvc02</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>  
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/springmvc-*.xml
</param-value>
</context-param><!-- 最早被加载的文件之一 -->
<servlet><!-- spring mvc 的支持 配置文件 -->
<servlet-name>spring</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet><!-- 当有人来访问的时候 才被初始化 -->
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>*.spring</url-pattern>
</servlet-mapping>
</web-app>


springmvc中的配置:

<!-- 启动注解驱动 -->
<mvc:annotation-driven/>
<!--启用自动扫描  -->
<context:component-scan 
base-package="com.wode.controller" />


<!-- ViewResolver视图解析器 用于将返回的ModelAndView对象进行分离 -->
<bean class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView"></property>
<property name="prefix" value="/"></property>
<property name="suffix" value=".jsp"></property>
</bean>


当我们使用ajax向服务器传送数据时,如:

$("#obt").on("click",function(){
$.ajax({
type:"POST",
data:{name:"name"},
url:"doAjax.spring",
success:function(msg){
for(var i=0;i<msg.length;i++){
alert(msg[i].name);
}
}
})
})

使用ResponseBody向前台发送数据

@RequestMapping(path="doAjax")//通过参数确定我们到底使用的这个类中的哪一个方法
public @ResponseBody List<UserBean> doAjax(HttpServletRequest req){ 

String name=req.getParameter("name");
List<UserBean> users=new ArrayList<>();
for(int i=1;i<11;i++){
UserBean bean=new UserBean();
bean.setUsername("张三"+i);
bean.setPassword("123");
users.add(bean);
}
return users; //json的使用
}


如果从前台向服务器传送数据怎么办呢?我们可以这样做:

$("#obt1").on("click",function(){
var users=[];
var user1={name:"zhangsan",pwd:"123"};
var user2={name:"lisi",pwd:"321"};
users.push(user1);
users.push(user2);
$.ajax({
type:"POST",
data:$.toJSON(users),
contentType:"application/json",
url:"doAjax2.spring",
success:function(msg){
for(var i=0;i<msg.length;i++){
alert(msg[i].name);
}

}
})

})


后台使用RequestBody来接收参数

public @ResponseBody List<UserBean> doAjax2(@RequestBody List<UserBean> users){ 

//pw.print;
return users; //json的使用
}

0 0
原创粉丝点击