SpringMVC之参数绑定
1.Controller
package com.tz.controller; import org.springframework.beans.factory.annotation.Required;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.CookieValue;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam; import com.tz.domain.Course; @Controller
public class RequestController {
/**
* @PathVariable("user"):获取路径中的值/handler/{user}
* @RequestParam("user"):获取请求参数/hander/{user}?user=coco
*
* @param userName
* @return
*/
@RequestMapping("/handle")
public String handler(@RequestParam(value="user",required=false) String userName){
//userName = request.getParameter("user");
System.out.println(userName);
return "success";
}
@RequestMapping("/handle2")
public String handler02(@RequestParam(value="user",required=false,defaultValue="你没有带参数") String userName,
@RequestHeader(value="User-Agent",required=false) String user_Agent,
@CookieValue("JSESSIONID") String js){
//userName = request.getParameter("user");
System.out.println(userName);
System.out.println(user_Agent);
System.out.println(js);
return "success";
} @RequestMapping("/addCourse")
public String addCourse(Course c){//springMVC会自动为我们定义的类型进行赋值
/**
* 1.将对象中的每一个属性从request参数中尝试取出来,并进行封装
* request.getParameter("参数名");如果有值,就会取出来封装到实体类的属性中(调用set方法)
*/
System.out.println(c);
return "success";
} }
2.domain
package com.tz.domain; import java.util.List;
import java.util.Map; public class Course {
private String cname;
private String teacher;
private Integer price;
private Integer stock;
private Integer number; private Address address; private List<String> clist;//课程内容 private Map<String,String> cmap;//key:day01,value:内容 public List<String> getClist() {
return clist;
}
public void setClist(List<String> clist) {
this.clist = clist;
}
public Map<String, String> getCmap() {
return cmap;
}
public void setCmap(Map<String, String> cmap) {
this.cmap = cmap;
}
public Address getAddress() {
return address;
}
public void setAddress(Address address) {
this.address = address;
}
public String getCname() {
return cname;
}
public void setCname(String cname) {
this.cname = cname;
}
public String getTeacher() {
return teacher;
}
public void setTeacher(String teacher) {
this.teacher = teacher;
}
public Integer getPrice() {
return price;
}
public void setPrice(Integer price) {
this.price = price;
}
public Integer getStock() {
return stock;
}
public void setStock(Integer stock) {
this.stock = stock;
}
public Integer getNumber() {
return number;
}
public void setNumber(Integer number) {
this.number = number;
}
@Override
public String toString() {
return "Course [cname=" + cname + ", teacher=" + teacher + ", price=" + price + ", stock=" + stock + ", number="
+ number + ", address=" + address + ", clist=" + clist + ", cmap=" + cmap + "]";
} } package com.tz.domain; public class Address {
private String province;
private String city;
private String street;
public String getProvince() {
return province;
}
public void setProvince(String province) {
this.province = province;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getStreet() {
return street;
}
public void setStreet(String street) {
this.street = street;
}
@Override
public String toString() {
return "Address [province=" + province + ", city=" + city + ", street=" + street + "]";
} }
3.jsp页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<a href="handle2?user=coco">访问</a><br/> <form action="addCourse" method="post">
课程名称:
<input type="text" name="cname"><br/>
主讲老师:
<input type="text" name="teacher"><br/>
课程价格:
<input type="text" name="price"><br/>
剩余名额:
<input type="text" name="stock"><br/>
报名人数:
<input type="text" name="number"><br/>
<hr/>
老师的居住地址:
<br/>
省份:
<input type="text" name="address.province"><br/>
城市:
<input type="text" name="address.city"><br/>
街道:
<input type="text" name="address.street">
<hr/>
课程内容list:<br/>
<input type="text" name="clist[0]">
<input type="text" name="clist[1]">
<input type="text" name="clist[2]">
<br/>
课程内容:<br/>
<input type="text" name="cmap['day01']">
<input type="text" name="cmap['day02']">
<input type="text" name="cmap['day03']">
<input type="submit" value="提交">
</form> </body> </html>
SpringMVC之参数绑定的更多相关文章
- springmvc(2)--参数绑定
一.以实例来看springmvc各种参数绑定方式 先定义个dto类: public class RestInDto implements Serializable { private static ...
- (转)SpringMVC学习(六)——SpringMVC高级参数绑定与@RequestMapping注解
http://blog.csdn.net/yerenyuan_pku/article/details/72511749 高级参数绑定 现在进入SpringMVC高级参数绑定的学习,本文所有案例代码的编 ...
- SpringMVC学习--参数绑定
spring参数绑定过程 从客户端请求key/value数据,经过参数绑定,将key/value数据绑定到controller方法的形参上.springmvc中,接收页面提交的数据是通过方法形参来接收 ...
- SpringMVC(三) —— 参数绑定和数据回显
参数绑定的过程:就是页面向后台传递参数,后台接受的一个过程. 默认支持的参数类型:(就是你在方法上以形参的形式去定义一下的类型,就可以直接使用它) HttpServletRequest HttpSer ...
- springmvc(三) 参数绑定、
前面两章就介绍了什么是springmvc,springmvc的框架原理,并且会简单的使用springmvc以及ssm的整合,从这一章节来看,就开始讲解springmvc的各种功能实现,慢慢消化 --W ...
- SpringMVC【参数绑定、数据回显、文件上传】
前言 本文主要讲解的知识点如下: 参数绑定 数据回显 文件上传 参数绑定 我们在Controller使用方法参数接收值,就是把web端的值给接收到Controller中处理,这个过程就叫做参数绑定.. ...
- SpringMVC中参数绑定
SpringMVC中请求参数的接收主要有两种方式, 一种是基于HttpServletRequest对象获取, 另外一种是通过Controller中的形参获取 一 通过HttpServletReque ...
- SpringMVC学习笔记之二(SpringMVC高级参数绑定)
一.高级参数绑定 1.1 绑定数组 需求:在商品列表页面选中多个商品,然后删除. 需求分析:功能要求商品列表页面中的每个商品前有一个checkbok,选中多个商品后点击删除按钮把商品id传递给Cont ...
- SpringMVC高级参数绑定(数组和List)
本节内容: 参数绑定之数组 将表单的数据绑定到List 复制下上篇博客中的工程,作为今天开发的工程. 一.参数绑定之数组 1. 需求 在商品列表页面选中多个商品,然后删除. 2. 需求分析 功能要求商 ...
- 什么是springMvc的参数绑定?
参数绑定通俗来讲就是从页面传过来的数据通过SpringMvc进行接收.接收的数据类型可以有: (1)SpringMvc默认支持的类型:request.session.application等. (2) ...
随机推荐
- Java static特性
static 表示是静态的 特点是:可以用类直接访问. 属于类, 在类加载时就有 因此static方法不能访问成员的 但是成员的可以访问静态的 所有对象可以共享. 因此常常用作工具,比如Math.PI ...
- 完成在本机远程连接HBase进行数据增删改查
1.进行hbase与本机远程连接测试连接 1.1 修改虚拟机文件hbase-site.xml(cd/usr/local/hbase/conf)文件,把localhost换成你的虚拟机主机名字 1.2修 ...
- Vue专题-组件
vue.js既然是框架,那就不能只是简单的完成数据模板引擎的任务,它还提供了页面布局的功能.本文详细介绍使用vue.js进行页面布局的强大工具,vue.js组件系统. Vue.js组件系统 每一个新技 ...
- POJ 3585 Accumulation Degree【换根DP】
传送门:http://poj.org/problem?id=3585 题意:给定一张无根图,给定每条边的容量,随便取一点使得从这个点出发作为源点,发出的流量最大,并且输出这个最大的流量. 思路:最近开 ...
- psi 函数计算
scipy.special.psi odps中不支持 scipy.special.psi,需要改写 基于 chebyshev_polynomial https://people.sc.fsu.edu/ ...
- 静态、动态cell区别
静态cell:cell数目固定不变,图片/文字固定不变(如qq设置列表可使用静态cell加载) 动态cell:cell数目较多,且图片/文字可能会发生变化(如应网络请求,淘宝列表中某个物品名称或者图片 ...
- [WC2015]未来程序(提交答案)
sub1:ans=a*b%c,龟速乘即可. #include <stdio.h> #include <stdlib.h> unsigned long long a, b, c, ...
- sd卡分区步骤
1.将sd卡通过优盘插在电脑上 2.fdisk /dev/sdb 3. m //帮助 d //删除分区 4. n //添加新的分区. p //默认主分区 回车 +400M ...
- 解决python pip 出现read time out问题
出现read time out问题是一般由于python包被墙导致下载速度变慢,pip下载超时. 解决方法一: 添加 --default-timeout:自定义timeout时间,一般能解决大部分ti ...
- oracle安装和使用
1.0 安装 2.0 初始化 1.使用 sqlplus 连接oracle数据库 1)在cmd中输入sqlplus /nolog 2)使用管理员账户登录orcl数据库实例 conn sys/gzsx ...