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. 分布式-信息方式-ActiveMQ的消息存储持久化

    ActiveMQ的消息存储持久化■概述ActiveMQ不仅支持 persistent和 non-persistent两种方式,还支持消息的恢复( recovery)方式PTPQueue的存储是很简单的 ...

  2. TCP定时器 之 坚持定时器

    坚持定时器在接收方通告接收窗口为0,阻止发送端继续发送数据时设定. 由于连接接收端的发送窗口通告不可靠(只有数据才会确认,ACK不会确认),如果一个确认丢失了,双方就有可能因为等待对方而使连接终止:接 ...

  3. 套接字之send系统调用

    send系统调用只是对sendto系统调用进行了封装,传递的参数不包含目的地址信息,数据会发送到已经建立连接的另一端的地址: /* * Send a datagram down a socket. * ...

  4. 套接字之msghdr结构

    用户端在使用sendmsg/recvmsg发送或者接收数据时,会使用msghdr来构造消息,其对应的内核结构为user_msghdr:其中msg_iov向量指向了多个数据区,msg_iovlen标识了 ...

  5. mybayis分页插件

    转载自 https://www.cnblogs.com/ljdblog/p/6725094.html

  6. SpringMVC学习记录(六)--Validator验证

    一.基于Validator接口的验证. 首先创建User实例,并加入几个属性 public class User { private String username; private String p ...

  7. T83310 【音乐会】二重变革

    T83310 [音乐会]二重变革 题解 你看数据那么大,又是一道数学题 题面描述这么个代码肯定不能傻fufu的直接把代码提交上去 我批评我自己 观察代码当中有一行 也就是说明最后这个数列都将变成同一个 ...

  8. Android如何使用Https与Nohttp框架使用

    什么是Https? HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全 ...

  9. 七、创建UcRESTTemplate请求管理器

    一.创建UcRESTTemplate管理器封装 import com.alibaba.fastjson.JSON; import org.apache.http.client.config.Reque ...

  10. CountDownLatch用法实践

    项目中写多线程时,需要判断所有线程是否执行完毕,所以想到了添加累加器来判断.这个累加器使用什么变量,找到了以下2种方式. 1. 类似AtomicInteger这种提供原子操作的类型AtomicInte ...