import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;
/*
*插一段~:中文参数乱码,通过在web.xml中配置,spring-web包中的CharacterEncodingFilter过滤器即可解决,,
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
*/
@Controller
public class Params { public Params() {
System.out.println("costructor....");
} /*
* 方式1:直接将方法的形参名作为参数名进行接收,,注此时形参名要和参数名相同
*/
@RequestMapping("/param1")
public ModelAndView param(String name, String address) {
System.out.println(name + "::" + address);
return null;
} /*
* 方式2:直接将方法的形参名作为参数名进行接收,
* 同时在形参名和参数名不同的形参前面添加@@RequestParam("name"),标明该形参用于接收哪一个参数的值 ,注此时形参名要和参数名相同
*/
@RequestMapping("/param2")
public ModelAndView param2(@RequestParam("name") String username, String address) {
System.out.println(username + "::" + address);
return null;
} /*
* 方式3:在方法中注入servlet中的对象,servlet中的全部自带的对象均可以由spring自动注入,
* 本方法中通过注入HttpServletRequest和HttpServletResponse实现参数的获取
*/
@RequestMapping("/param3")
public ModelAndView param3(HttpServletRequest req, HttpServletResponse resp) {
String username = req.getParameter("name");
String address = req.getParameter("address");
System.out.println(username + "--" + address);
return null;
} /*
* 方式4:通过实现创建的模型,在该模型中含有与参数名相同的属性名, spring会自动将参数名和属性名相同的参数的参数值注入到模型的对应属性上
* 对于模型中没有属性名与参数名相同的参数,可以在方法中在写一个形参用于接收该参数的值 如本方法中的confirm
*/
@RequestMapping("/param4")
public ModelAndView param4(User u, String confirm) {
System.out.println(u.name + "--" + u.address + "--" + confirm);
return null;
} /*
* 方式5:直接从url中抽取参数的值,
* 通过使用占位符{},在{}中写入参数名,在方法形参类表中的每个形参前使用@pathVeriable("展位符中的参数名")标记
   *此时,,,直接在地址栏填入http://localhost:8080/param5/34/sds.do ,该方法即可获取此url中的2个参数,此方法也称之为"restful"模式
*/
@RequestMapping("/param5/{id}/{name}")
public ModelAndView param5(@PathVariable("id") Long id, @PathVariable("name") String name) {
System.out.println(id + "--" + name);
return null;
} }

下面为表单,和模型user

/**
*USER模型
*/
public class User {
String name;
String address;
@Override
public String toString() {
return "User [name=" + name + ", address=" + address + "]";
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
<%@ 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>
<form action="/param5.do" method="post">
姓名:<input type="text" name="name" /><br />
地址:<input type="text" name="address" /><br />
确认:<input type="text" name="confirm" /><br />
<input type="submit" value="提交" />
</form>
</body>
</html>

springmvc中的参数接收的更多相关文章

  1. SpringMVC中的参数绑定总结

    众所周知,springmvc是用来处理页面的一些请求,然后将数据再通过视图返回给用户的,前面的几篇博文中使用的都是静态数据,为了能快速入门springmvc,在这一篇博文中,我将总结一下springm ...

  2. 【SpringMVC学习05】SpringMVC中的参数绑定总结——较乱后期准备加入 同一篇幅他人的参数绑定

    众所周知,springmvc是用来处理页面的一些请求,然后将数据再通过视图返回给用户的,前面的几篇博文中使用的都是静态数据,为了能快速入门springmvc,在这一篇博文中,我将总结一下springm ...

  3. SpringMVC中的参数绑定

    SpringMVC中的参数绑定 参数绑定的定义 所谓参数绑定,简单来说就是客户端发送请求,而请求中包含一些数据,那么这些数据怎么到达 Controller.从客户端请求key/value数据(比如ge ...

  4. SpringMvc中初始化参数绑定

    初始化参数绑定与类型转换很类似,初始化绑定时,主要是参数类型 ---单日期 在处理器类中配置绑定方法  使用@InitBinder注解 在这里首先注册一个用户编辑器 参数一为目标类型   proper ...

  5. SSM-SpringMVC-11:SpringMVC中ParameterMethodNameResolver参数方法名称解析器

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 或许曾经的我们也见过一种方式http://localhost:8080/项目名/后台servlet?actio ...

  6. SpringMVC中参数绑定

    SpringMVC中请求参数的接收主要有两种方式, 一种是基于HttpServletRequest对象获取, 另外一种是通过Controller中的形参获取 一  通过HttpServletReque ...

  7. SpringMVC中使用bean来接收form表单提交的参数时的注意点

    这是前辈们对于SpringMVC接收表单数据记录下来的总结经验: SpringMVC接收页面表单参数 springmvc请求参数获取的几种方法 下面是我自己在使用时发现的,前辈们没有记录的细节和注意点 ...

  8. SpringMVC中参数接收

    /** *  * SpringMVC中参数接收 * 1.接收简单类型 int String * 2.可以使用对象pojo接收 * 3.可以使用集合数据接收参数 * 页面: name="ids ...

  9. springMVC中接收请求参数&&数据转发

    ### 1. 接收请求参数 #### 1.1. [不推荐] 通过HttpServletRequest获取请求参数 假设存在: <form action="handle_login.do ...

随机推荐

  1. ZooKeeper java例子解读

    转载链接:https://blog.csdn.net/liyiming2017/article/details/83276706 需求理解我们先回顾一下例子的需求,此客户端有如下四个需求: 1.它接收 ...

  2. akka 的集群访问方式

    akka  中采用startProxy分区代理 访问 ,跟使用shardRegion 来访问的区别 这两种访问方式是不是重了呢. 而另外这是一个单例代理 private fun startUniver ...

  3. numpy小记

    import numpy as np # a=np.array([[1,3,2],[4,5,6]]) print(a) a=np.arange(1,13).reshape((3,4))#生成一个3行4 ...

  4. jQuery file upload --Multiple File Input Fields in One Form

    The plugin can be applied to a form with multiple file input fields out of the box. The files are se ...

  5. mysql 5.7安装方法

    yum方式安装rpm包形式,安装mysql的方法: 方法一: 使用yum方式,下载后离线安装mysql的安装包 安装前,先使用命令查看,确定系统未安装mysql安装包.彻底清除之前安装的mysql安装 ...

  6. Python之标示符和关键字

    <1>标示符 开发人员在程序中自定义的一些符号和名称 标示符是自己定义的,如变量名 .函数名等 <2>标示符的规则 标示符由字母.下划线和数字组成,且数字不能开头 python ...

  7. [flask-sqlalchemy]倒序查询结果

    按创建时间倒序查询测试用例 >>> a= TestCase.query.order_by(TestCase.create_time.desc()).first() >>& ...

  8. flutter 屏幕宽高 状态栏高度

    MediaQuery.of(context) 包含了一些屏幕的属性: size : 一个包含宽度和高度的对象,单位是dp print(MediaQuery.of(context).size); //输 ...

  9. WPF界面设计—撸大师

    WPF界面设计,模仿了金山卫士,360,鲁大师的界面! <!--无边框窗体--> <Style x:Key="NoResize_window" TargetTyp ...

  10. OpenFlow/SDN 的缘起与发展

    目录 文章目录 目录 从虚拟机动态迁移对大二层网络的需求说起 OpenFlow 起源 从 OpenFlow 扩展为 SDN OpenFlow 的应用场景 网络虚拟化 – FlowVisor 负载均衡 ...