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

时间:2024-09-05 14:07:02

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..jar
json\jackson-mapper-asl-1.9..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();
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()+) + "月");
}
); });
}) </script>
</html>

其他配置和之前说的相同,只是这次是用了注解方式,感觉更加简化了配置。