`
hiskyrisa
  • 浏览: 36957 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

Study:SpringMVC3.2处理ajax请求

阅读更多

 jsp页面如下:

	<form id="myForm" method="post" action="/mvc/student/add">
		<table>
			<tr>
				<td>姓名</td>
				<td><input id="name" name="name" value="${name}" /></td>
			</tr>
			<tr>
				<td>性別</td>
				<td>男<input type="radio" name="sex" value="1" />女<input
					type="radio" name="sex" value="0" />
				</td>
			</tr>
			<tr>
				<td>祖籍</td>
				<td><select name="home">
						<option value="0">请选择</option>
						<option value="云南">云南</option>
						<option value="湖南">湖南</option>
						<option value="广东">广东</option>
				</select></td>
			</tr>
			<tr>
				<td><input type="button" value="保存" onclick="validate()" /></td>
			</tr>
		</table>
	</form>

jsp中的js方法如下:

<script type="text/javascript">
	function validate(){
		var name = $("#name");
		if(null == name.val() || "" == name.val()){
			alert("请输入姓名!");
			name.focus();
			return;
		}
		var sex = $('input[name="sex"]:checked');
		if(sex.length == 0){
			alert("请选择性别!");
			$('input[name="sex"]')[0].focus();
			return;
		}
		var home = $('select[name="home"]').find('option:selected');
		if(home.val() == 0){
			alert("请选择祖籍!");
			$('select[name="home"]').focus();
			return;
		}
		$.ajax(
				{ 
					url: "/mvc/student/add",
					type:"POST",
					//data:"name="+name.val()+"&sex="+sex.val()+"&home="+home.val(),
					data:{
						name:name.val(),
						sex:sex.val(),
						home:home.val()
					},
					dataType:'text',
					success: function(result){
						alert(result);
					}
      			}
		 );
	}
</script>

以上两种格式的data经过测试都可以请求。

 

Controller代码如下:

@Controller
@RequestMapping("student")
public class StudentController {
	@Autowired
	StudentService studentService;
	
	@RequestMapping(value="add",method={RequestMethod.GET})
	public String add() {
		return "addStudent";
	}
	
	@RequestMapping(value="add",method={RequestMethod.POST})
	@ResponseBody
	public Student add(Student student) {
		return studentService.add(student);
	}
}

 

最重要的一个地方,就是springmvc配置文件。

<?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:mvc="http://www.springframework.org/schema/mvc"
    xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd">
    <description>springmvc配置</description>    
	<!-- 自动扫描且只扫描@Controller,service必须在application中加载好并且加上事务,否则此时关联到的service没有事务。-->
	<context:component-scan base-package="com.*">
		<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller" />
        <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service" />
	</context:component-scan>
	<!-- 
	<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>
	<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>
	 -->
	<mvc:annotation-driven />
    <mvc:default-servlet-handler/>
	
	<!-- ViewResolver -->
	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
		<property name="prefix" value="/WEB-INF/jsp/" />
		<property name="suffix" value=".jsp" />
	</bean>
</beans>

 以上配置文件几乎没任何地方提到对于json的处理。网上查了很多例子,都提到需要在Adapter中配置Converter。但我这里的配置真没有像那样处理,我猜想跟版本有关系,得空再调试看看spring内部是如何自处理的。或许那样的配置有什么特别的之处,我现在还没接触到。唯一不同地方是引入的jar包。

		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-core</artifactId>
			<version>2.0.0</version>
		</dependency>
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-annotations</artifactId>
			<version>2.0.0</version>
		</dependency>
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-databind</artifactId>
			<version>2.0.0</version>
		</dependency>

 

分享到:
评论

相关推荐

    springmvc接收ajax请求注意事项

    SpringMVC 框架在处理 Ajax 请求时需要注意一些重要的配置和设置,以确保请求的正确处理和数据的正确传输。下面我们将介绍在 SpringMVC 中接收 Ajax 请求的注意事项。 基本数据类型参数传输 在 Ajax 请求中,如果...

    springmvc 3.2(jar包)

    SpringMVC 3.2 是一个历史悠久但仍然广泛使用的Java Web开发框架,它是Spring框架的重要组成部分,专注于处理HTTP请求和响应。在这个版本中,SpringMVC提供了许多关键特性,使得开发者能够构建高效、灵活和可扩展的...

    Study:SpringMVC整合Mybatis的完整例子

    这篇博客"Study:SpringMVC整合Mybatis的完整例子"提供了关于如何将这两个框架集成到同一个项目中的详细教程。以下是对这个主题的详细阐述: **SpringMVC框架** SpringMVC是Spring框架的一个模块,专门用于构建Web...

    springMVC3.2+Hibernate4的基本配置

    综上所述,这个"springMVC3.2+Hibernate4的基本配置"项目包含了一个完整的Web应用开发环境,包括SpringMVC的请求处理、Hibernate的数据持久化、C3P0连接池管理、事务控制、缓存优化以及自定义拦截器。这个配置模板...

    框架springmvc3.2+spring3.2+mybatis3.11+maven整合

    Spring MVC 3.2引入了改进的类型安全的`@RequestMapping`注解,支持异步处理,以及增强的异常处理机制。此外,它还支持JSR-303 Bean验证,使得验证逻辑更加规范。 **Spring 3.2** Spring框架的核心在于依赖注入(DI...

    【免费】Springmvc3.2所需要的全部jar包

    7. **Handler Interceptors**:3.2版本中,你可以定义拦截器来处理请求前后的逻辑,如权限验证、日志记录等。 8. **异步处理**:Spring 3.2引入了异步请求处理,通过@Async注解,开发者可以编写非阻塞的后台任务,...

    基于springMVC3.2的REST源码,结合了jquery和json

    **SpringMVC 3.2 RESTful服务** SpringMVC是Spring框架的一部分...通过这个压缩包中的代码,开发者可以学习到如何配置SpringMVC以支持REST,编写RESTful控制器,以及如何在前端使用jQuery发送REST请求并处理JSON响应。

    springMVC使用Ajax请求数据

    // 处理请求逻辑,如查询数据库 String result = "处理后的数据"; return result; // 返回JSON或XML格式的数据 } } ``` `@ResponseBody`注解告诉Spring MVC将方法的返回值转换为HTTP响应体发送回客户端。 4....

    springmvc异步ajax请求

    2. **Spring MVC中的Ajax请求处理** 在Spring MVC中,我们通常使用`@ResponseBody`注解和`HttpMessageConverter`来处理Ajax响应。`@ResponseBody`告诉Spring将方法的返回值转换为HTTP响应体的内容,而`...

    SpringMVC3.2+JPA使用注解的方式环境搭建

    SpringMVC负责处理前端请求与后端业务逻辑之间的交互,而JPA则提供了一种统一的数据持久化解决方案。本文将深入探讨如何在SpringMVC3.2环境中使用注解的方式集成JPA,实现数据模型的持久化操作。 #### 一、实体类...

    springMVC3.2+Hibernate4+freemarker

    springMVC3.2+Hibernate4+freemarker 代码框架采用springMVC3.2.4+hibernate4.2.8+freemarker2.3.16 功能方面只是一个简单的注册登录,前台使用freemarker渲染,使用了freemarker自定义标签。

    (SSM)springmvc3.2+spring3.2+mybatis3.11(带jar包)

    在“springmvc3.2+spring3.2+mybatis3.11”这个版本中: - Spring MVC 3.2带来了更多的注解支持,改进了异常处理机制,以及对RESTful风格的支持。 - Spring 3.2版本提供了更多性能优化,提升了对Java EE 6的兼容性,...

    配置文件:SpringMVC核心配置文件示例

    java 配置文件:SpringMVC核心配置文件示例

    毕设项目:基于SpringMVC+MyBatis开发学生管理系统.zip

    毕设项目:基于SpringMVC+MyBatis开发学生管理系统 毕设项目:基于SpringMVC+MyBatis开发学生管理系统 毕设项目:基于SpringMVC+MyBatis开发学生管理系统 毕设项目:基于SpringMVC+MyBatis开发学生管理系统 毕设项目...

    springmvc3.2

    7. **Async support**:Spring MVC 3.2引入了异步处理支持,允许控制器方法返回`DeferredResult`或使用`@Async`注解来启动异步任务,提高应用的并发处理能力。 8. **国际化和本地化**:3.2版本提供了更便捷的本地化...

    SpringMVC3.2 demo

    总的来说,"SpringMVC3.2 demo"项目展示了如何将SpringMVC与ZTree、JPA集成,构建一个具有基本登录功能的Web应用。通过学习这个项目,你可以了解到如何配置和使用这些技术,以及如何在实际开发中整合它们。同时,...

    springMvc 处理ajax请求jar包

    配置Springmvc 处理ajax请求所需jar包 包含jackson-annotations-2.1.1.jar,jackson-core-2.1.1.jar,jackson-core-lgpl-1.2.1.jar,jackson-databind-2.1.2.jar,jackson-mapper-lgpl-1.2.1.jar,jackson-module-...

    maven3.05+springmvc3.2+spring3.2+hibernate3.6重写传智播客OA源代码(包含数据库)

    maven3.05+springmvc3.2+spring3.2+hibernate3.6重写传智播客OA源代码。菜单部分采用ztree.界面有一部分使用bootstrap3.11。听了汤阳光大神的视频收获很大,也学习springmvc,期间有一个想法用springmvc来改写汤大神...

    springMVC3.2实现后台校验

    我们可以检查`BindingResult`来决定是否继续处理请求,或者向用户返回错误消息。 除了使用预定义的注解,我们还可以自定义校验注解和校验器。通过实现`ConstraintValidator`接口,我们可以创建自己的校验逻辑。例如...

    SpringMVC-Study:SpringMVC学习

    2. **Controller**:Controller是处理请求的主要组件,通常是一个实现了Spring的`@Controller`注解的Java类。开发者可以在这里编写业务逻辑,处理完请求后返回一个ModelAndView对象,包含视图名和模型数据。 3. **...

Global site tag (gtag.js) - Google Analytics