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) ...
随机推荐
- springboot学习笔记:8. springboot+druid+mysql+mybatis+通用mapper+pagehelper+mybatis-generator+freemarker+layui
前言: 开发环境:IDEA+jdk1.8+windows10 目标:使用springboot整合druid数据源+mysql+mybatis+通用mapper插件+pagehelper插件+mybat ...
- IDEA 安装破解
打开IntelliJ IDEA的官网. https://www.jetbrains.com/idea/download/#section=windows 开始安装吧!傻瓜式安装,不多说 激活 ...
- 0.3W微功率放大器
电路结构 电路摘自<晶体管电路设计(上)>. 电路采用+5V单电源供电,两级结构.Tr1构成共射极放大电路作为电压放大级:Tr3,Tr4构成推挽的射极跟随器作为输出级:Tr2作为射极跟随器 ...
- Linux实验总结(第二周)
测试一--vi 每个.c一个文件,每个.h一个文件,文件名中最好有自己的学号 用Vi输入图中代码,并用gcc编译通过 在Vi中使用K查找printf的帮助文档 提交vi编辑过程截图,要全屏,包含自己的 ...
- 12)PHP,常量和魔术常量
义:用于存储一个不会变化也不希望变化的数据的标示符. 常量命名规则,同变量,但习惯说,常常将常量的名称使用“全大写”形式. 定义形式 使用define()函数定义 使用形式:define(“常量名”, ...
- ZZJ_淘淘商城项目:day04(淘淘商城03 - 前台系统搭建、实现、内容管理系统实现)
1. 今日大纲 1. 实现商品的编辑 2. 实现商品的规格参数功能 3. 搭建前台系统 4. 实现首页商品类目的显示 2.2.4. 未实现TODO 编辑时图片回显: 思路: 1. 查 ...
- winform上传文件,利用http,form-data格式上传
/// <summary> /// 上传文件 /// </summary> /// <param name="url">服务地址</par ...
- Qt的窗口如何显示在spi屏幕上
问题:我们可以将qt移植到H3上,但是如果要将窗口通过spi屏进行显示应该怎么做呢,和framebuffer又有什么关系? 这里只说一下qt在spi屏上显示的技术原理,具体的实现还需要自己努力. 一. ...
- Linux下查找Nginx配置文件位置
1.查看Nginx进程 命令: ps -aux | grep nginx 圈出的就是Nginx的二进制文件 2.测试Nginx配置文件 /usr/sbin/nginx -t 可以看到nginx配置文件 ...
- Could not open Hibernate Session for transaction; nested exception is org.hibernate.TransactionExcep linux下mysql修改连接超时wait_timeout修改后就ok了
Linux下mysql修改连接超时wait_timeout 1,首先: show variables like '%timeout%': 显示结果: +------------------------ ...