您的位置:首页 > 编程语言 > Java开发

spring mvc接收参数方式,json格式返回请求数据

2017-05-13 20:55 731 查看
1 使用方法形参使用变量接收提交的数据

2 在方法的形参中使用模型接收数据

3 如果在提交的表单中有多个数据模型,需要创建一个新的Bean,里面的属性是要接收的对象变量。

4 接收提交的日期字符串,转换成Date类型。需要使用@InitBinder来转换

5 批量删除数据,使用数组接收要删除的id,在页面中使用相同name属性

6 批量提交,如何接收数据?需要新建一个Bean,List或者LinkedList/ArrayList来接收。

7 在两个不同的action方法之间执行转发。在return语句中使用"forward:other URL"

8 在两个不同的action方法之间执行重定向。在return语句中使用"redirect:"

二、前端和后端使用json格式传数据

1 开发步骤

1)引入json的jar包

//json包
json\jackson-core-asl-1.9.2.jar
json\jackson-mapper-asl-1.9.2.jar


2)配置json解析类,固定格式,usermvc.xml文件

<!-- 开启扫描 -->
<context:component-scan base-package="com.huitong.app3"></context:component-scan>

<!-- json 配置 -->
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></bean>
</list>
</property>
</bean>


3)useraction控制器类中处理函数编写

package com.huitong.app3;

import java.util.Date;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@RequestMapping(value="/user")
public class UserAction {

@RequestMapping(value="/getbean")
public @ResponseBody User getUser(Model model) throws Exception{
User user = new User();
user.setId(1);
user.setName("中国");
user.setHiretime(new Date());

System.out.println(user);

return user;
}

}


4)前端显示页面,jsontest.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>

<title>My JSP 'jsontest.jsp' starting page</title>
<script type="text/javascript" src="js/jquery-3.2.1.js"></script>

</head>

<body>
<div style="width: 600px; height: 400px;">
<p><button id="btn">bean2json</button></p>
<p><button id="btn">beanlist2json</button> </p>
<p><button id="btn">map2json</button> </p>

</div>

</body>

<script type="text/javascript">
$(function(){
$("div #btn:first").click(function(){
var url="${pageContext.request.contextPath}/user/getbean.action";
var data=null;
$.post(
url,
data,
function(backdata){
var hiretime = new Date(backdata.hiretime);
alert(hiretime.getFullYear() + "年" + (hiretime.getMonth()+1) + "月");
}
);

});
})

</script>
</html>


其他配置和之前说的相同,只是这次是用了注解方式,感觉更加简化了配置。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐