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. STS(Spring tool suite)集成配置jdk,maven和Tomcat

    STS是spring官网的一个集成开发工具,最近在学springboot,所以用了. 在本文中将介绍如下内容: 搭建开发的 JDK(1.8) 环境. 配置 Maven 环境. 配置 Tomcat 环境 ...

  2. JS给XMLHttpRequest添加filter

    function XMLHttpRequestFilter(){ let base = XMLHttpRequest.prototype.open; let filter_list = []; let ...

  3. 【JVM】jstack 查询占用最大资源线程|排查死循环等

    jstack 应用 首先通过:ps -ef|grep java 得到java pid 查看哪个线程占用最多资源: 找出该进程内最耗费CPU的线程,可以使用ps -Lfp pid或者ps -mp pid ...

  4. Uep的ajaxform和ajaxgrid组件获取数据源

    对于ajaxform组件var record = ajaxform.getRecord();var storeId = record.get("storeId");var stor ...

  5. django-登录页面添加验证码

    1,安装第三方库 pip install django-simple-captcha 2,注册应用 INSTALLED_APPS = [ 'django.contrib.admin', 'django ...

  6. Linux命令之grep用法详解:grep与正则表达式 [转]

    正则表达式与通配符不一样,它们表示的含义并不相同. grep命令的选项用于对搜索过程进行补充说明.grep命令的模式十分灵活,可以是字符串.变量,还可以是正则表达式. 无论模式是何种形式,只要模式中包 ...

  7. Solr安装并导入mysql数据

    参考博客:https://blog.csdn.net/u013160017/article/details/81037279 下载地址:https://lucene.apache.org/solr/m ...

  8. nodejs之流数据读取与写入

    1.(fs.createReadStream)当文件比较大时,建议使用文件流读取,不会出现卡顿现象,demo如下. const fs = require('fs'); //流的方式读取文件 var r ...

  9. 编辑器UEditor入门学习

    优点:非常使用的富文本编辑器,对比于之前使用的summernote,比前者多出了更多的字体图标 废话少说,直接步骤: 1.导入资源(全部放在单独的文件下即可,下图为“UEditor”文件夹) 2.引用 ...

  10. 阶段3 2.Spring_10.Spring中事务控制_4 spring中事务控制的一组API

    分析aop的 xml 的代码.更直观一些 事务提交和回滚就是我们重复的代码 spring业余事务管理器,我们拿过来直接用就可以 提交和回滚的后面直接调用释放.所以释放资源之类就是多余的 在绑定连接到线 ...