spring mvc 接收页面数据

目录

    • 1. 基本类型的数据封装
    • 2. pojo(bean)类型的封装
    • 3. 数组类型
    • 4. list集合类型

1. 基本类型的数据封装

//http://localhost:8080/spring_mvc_01/user/save8?name=bitqian&age=19
@RequestMapping(value = "/save8")
@ResponseBody
public void save8(String name, int age) {System.out.println(name + "\t" + age);
}

2. pojo(bean)类型的封装

//http://localhost:8080/spring_mvc_01/user/save8?name=bitqian&age=19@RequestMapping(value = "/save9")@ResponseBodypublic void save9(User user) {System.out.println(user);}

3. 数组类型

@RequestMapping(value = "/save10")
@ResponseBody
public void save10(String[] arr) {// http://localhost:8080/spring_mvc_01/user/save10?arr=abc&arr=def&arr=ghiSystem.out.println(Arrays.asList(arr));
}

4. list集合类型

1.通过viewobject视图对象类,里面装集合

  • view object 实体
package com.bitqian.entity;import java.util.List;/*** user view object* @author echo lovely* @date 2020/9/1 20:25*/
public class ViewObject {private List<User> userList;public List<User> getUserList() {return userList;}public void setUserList(List<User> userList) {this.userList = userList;}@Overridepublic String toString() {return "ViewObject{" +"userList=" + userList +'}';}
}
  • 接收表单提交的数据
// 封装集合1
@RequestMapping(value = "/save11")
@ResponseBody
public void save11(ViewObject vo) {System.out.println(vo);
}
  • 表单提交
<%--Created by IntelliJ IDEA.User: echo lovelyDate: 2020/9/1Time: 20:31使用spring-mvc框架封装集合
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>spring -mvc框架封装集合</title>
</head>
<body><form action="user/save11" method="post"><input type="text" name="userList[0].name"/> <br/><input type="text" name="userList[0].age"> <br/><input type="text" name="userList[1].name"/> <br/><input type="text" name="userList[1].age"> <br/><input type="submit" value="提交" /></form></body>
</html>
  1. 通过ajax提交json集合数据,mvc自动封装(静态资源404问题)
  • 页面
<%--Created by IntelliJ IDEA.User: echo lovelyDate: 2020/9/1Time: 20:58ajax 提交json格式的数据
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>ajax 提交json格式的数据</title><%--静态资源权限问题..--%><script src="js/jquery.min.js"></script><script>$(function () {let userList = new Array();userList.push({name:"jack", age:19});userList.push({name:"rose", age:18});$.ajax({url: "user/save12",type: "post",data: JSON.stringify(userList),contentType: "application/json;charset=utf-8",success: function (data) {console.log('data', data);},error: function (e) {console.log(e);}});});</script>
</head>
<body></body>
</html>
  • @requestBody封装数据到集合
 @RequestMapping(value = "/save12")@ResponseBodypublic void save12(@RequestBody List<User> list) {System.out.println(list);}
  • 加载静态资源
<!--加载静态资源-->
<mvc:resources mapping="/js/**" location="/js/"/><!--<mvc:default-servlet-handler/>-->

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/420673.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

css样式引入的优先级

css样式引入的优先级 1 位于<head/>标签里的<style/>中所定义的CSS拥有最高级的优先权。2、第二级的优先属性由位于 <style/>标签中的 import 引入样式表所定义。3、第三级的优先属性由<link/>标签所引入的样式表定义。4、第四级的优先属性由<link…

前端学习(1182):差值表达式

插值表达式语法&#xff1a;{{}} 使用时请注意以下几点&#xff1a; 插值表达式是vue框架提供的【指令】 插值表达式中 不可以写代码片段 会报错 属性节点中不能使用插值表达式&#xff0c;如果要为元素节点动态绑定数据&#xff0c;我们要用v-bind动态绑定属性&#…

单片机的 FIFO循环队列实现

转自&#xff1a;单片机的FIFO(先入先出)循环队列实现 // // 文件&#xff1a;config.h // #ifndef __CONFIG_H #define __CONFIG_H //这一段无需改动 //This segment should not be modified #ifndef TRUE #define TRUE 1 #endif #ifndef FALSE #define FALSE 0 #endif type…

前端学习(1183):指令v-cloak

<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><!-- v-cloak用法 -->&…

mvc自定义日期转换器

1. 配置编码过滤器 1&#xff0c; web.xml中设置配置spring mvc提供的编码过滤器&#xff0c;解决get/post提交过来的数据乱码问题 <!--配置编码过滤器--><filter><filter-name>characterEncodingFilter</filter-name><filter-class>org.spring…

link引入和@import的区别

本质上, 这两种方式都是加载CSS文件, 但还是存在着细微的差别 import 机制不同于link&#xff0c;link是加载页面前css加载完毕&#xff0c;import 是先读取文件再加载import是css2.0里的 ie5以上不支持用js控制dom时改变样式&#xff0c;只能用link&#xff0c;import不是dom…

重新理解javascript回调函数

把函数作为参数传入到另一个函数中。这个函数就是所谓的回调函数 经常遇到这样一种情况&#xff0c;某个项目的A层和B层是由不同的人员协同完成.A层负责功能funA,B层负责funcB。当B层要用到某个模块的数据,于是他对A层人员说,我需要你们提供满足某种需求的数据,你给我提供一个接…

前端学习(1184):数据绑定指令

<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><!-- v-cloak用法 -->&…

struts2文件上传,下载

目录1. 页面表单2. 上传下载实现1. 页面表单 <HTML><HEAD><TITLE>上传下载图片</TITLE><meta http-equiv"Content-Type" content"text/html; charsetGBK"></head><body><form enctype"multipart/form-…

各个浏览器以及内核

//IE :trident 简写:-ms- //Firefox :Gecko 简写:-moz-//Google chrome:webkit/blink 简写:-webkit-//Sefari:webkit 简写:-webkit-//opera:presto 简写:-o-

Windows安装Python包下载工具pip遇到的问题

到Python的官网下载get-pip.py文件&#xff0c;然后按照说明进行安装。 在安装过程中&#xff0c;我遇到以下问题&#xff1a; cmd的codepage引起的编码错误&#xff0c;提示65001编码错误&#xff0c;通过chcp 936切换到默认的代码页可解决此问题。其次是权限的问题&#xff0…

前端学习(1185):数据响应式

<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><!-- v-cloak用法 -->&…

Tomcat7.0+的JNDI问题

上次搭建springspringmvcmybatis框架时用的第三方连接池jar包&#xff0c;但是部署到tomcat中后访问没有问题&#xff0c;但是启动时报了个JNDI的错&#xff0c;我没用JNDI你给我报什么&#xff0c;fuck&#xff01;把错误贴到百度上搜索没搜到&#xff0c;更fuck&#xff0c;没…

spring mvc 实现单文件 || 多文件上传

文件上传1. pom依赖&#xff08;jar包&#xff09;2. 文件上传解析器配置3. 上传实现4. 下载||文件展示实现&#xff08;io流的实现&#xff09;项目下载地址https://github.com/sevenyoungairye/File-Upload1. pom依赖&#xff08;jar包&#xff09; <!-- common upload fi…

前端学习(1186):双向数据绑定

<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><!-- v-cloak用法 -->&…

浏览器获取正确的scrollTop值

window.pageYOffset 被所有浏览器支持除了 IE 6, IE 7, IE 8, 不关doctype的事&#xff0c; 注IE9 开始支持此属性。 window.scrollY 被Firefox, Google Chrome , Safari支持 不关doctype的事, 注IE9 不支持此属性。 在&#xff08;quirk 模式&#xff09;的时候 document.body…

拦截器,利用拦截器进行登陆权限控制

拦截器&#xff0c;登录权限控制demo1. 拦截器demo2. 登录权限控制地址&#xff1a;https://github.com/sevenyoungairye/spring-mvc-interceptor1. 拦截器demo 什么是拦截器 拦截器基于是aop思想实现的。 针对controller里面的目标方法进行拦截。 对比过滤器是过滤所有请求&…

vue的watch监听

Vue.js 有一个方法 watch&#xff0c;它可以用来监测Vue实例上的数据变动。 如果对应一个对象&#xff0c;键是观察表达式&#xff0c;值是对应回调&#xff0c;值也可以是方法名&#xff0c;或者是对象&#xff0c;包含选项。 <template><div><el-input v-mo…

通过CMD命令行创建和使用Android 模拟器 AVD

进行Android APP测试时&#xff0c;若手持android手机设备稀少的情况下&#xff0c;我们可以通过创建Android模拟器AVD来代替模拟android手机设备&#xff0c;本文就具体介绍如何创建和使用AVD。 1、创建AVD 每个AVD模拟一套虚拟设备来运行Android应用程序。无论…