该项目用来介绍SpringMVC对参数接受的方法:

项目目录树:在前一个项目上修改添加

新添加了Student类和Group类,用来测试整体参数接受

Student.java

package com.orange.model;

public class Student {

    private String name;

    private String password;

    private Group group;

    public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public String getPassword() {
return password;
} public void setPassword(String password) {
this.password = password;
} public Group getGroup() {
return group;
} public void setGroup(Group group) {
this.group = group;
} }

Group.java

package com.orange.model;

public class Group {

    private int id;

    private String name;

    public int getId() {
return id;
} public void setId(int id) {
this.id = id;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} }

提供控制类ParameterController.java

package com.orange.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView; import com.orange.model.Student; @Controller
@RequestMapping(value="/parameter")
public class ParameterController { @RequestMapping(value="/tp1") //参数逐个接受
public ModelAndView doParameter1(String name, String password, ModelAndView mav){
mav.addObject("name", name);
mav.addObject("password", password);
mav.setViewName("/parameterShow.jsp");
return mav;
} @RequestMapping(value="/tp2") //参数整体接受,使用Student类中的属性来接受参数
public ModelAndView doParameter2(Student studenttp2, ModelAndView mav){
mav.addObject("studenttp2", studenttp2);
mav.setViewName("/parameterShow.jsp");
return mav;
} @RequestMapping(value="/tp3") //参数域属性接受
public ModelAndView doParameter3(Student studenttp3, ModelAndView mav){
mav.addObject("studenttp3", studenttp3);
mav.setViewName("/parameterShow.jsp");
return mav;
} @RequestMapping(value="/tp4") //参数修正,把提交的参数pname修改为name,参数ppassword修改为password
public ModelAndView doParameter4(@RequestParam("pname") String name, @RequestParam("ppassword") String passwordtp4, ModelAndView mav){
mav.addObject("nametp4", name);
mav.addObject("passwordtp4", passwordtp4);
mav.setViewName("/parameterShow.jsp");
return mav;
} }

测试的jsp文件,

parameter.jsp

<%@ page language="java" contentType="text/html; charset=GBK"
pageEncoding="GBK"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!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=GBK">
<base href="<%=basePath %>">
<title>Default Page</title>
</head>
<body>
<div>
<h1>参数逐个接受</h1><br>
<form action="parameter/tp1">
name: <input type="text" name="name"><br>
password: <input type="text" name="password"><br>
<input type="submit" value="submit">
</form>
</div>
<hr>
<div>
<h1>参数整体接受</h1>
<form action="parameter/tp2">
name: <input type="text" name="name"><br>
password: <input type="text" name="password"><br>
<input type="submit" value="submit">
</form>
</div>
<hr>
<div>
<h1>参数域属性接受</h1>
<form action="parameter/tp3">
name: <input type="text" name="name"><br>
password: <input type="text" name="password"><br>
group.id <input type="text" name="group.id"><br>
group.name <input type="text" name="group.name"><br>
<input type="submit" value="submit">
</form>
</div>
<hr>
<div>
<h1>参数修正</h1>
<form action="parameter/tp4">
name: <input type="text" name="pname"><br>
password: <input type="text" name="ppassword"><br>
<input type="submit" value="submit">
</form>
</div>
<hr>
</body>
</html>

展示提交结果的jsp文件parameterShow.jsp

<%@ page language="java" contentType="text/html; charset=GBK"
pageEncoding="GBK"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!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=GBK">
<base href="<%=basePath %>">
<title>Default Page</title>
</head>
<body>
<div>
<h1>参数逐个接受</h1>
<c:out value="${name }" /><br>
<c:out value="${password }" /><br>
</div>
<hr>
<div>
<h1>参数整体接受</h1>
<c:out value="${studenttp2.name }" /><br>
<c:out value="${studenttp2.password }" /><br>
</div>
<hr>
<div>
<h1>参数域属性接受</h1>
<c:out value="${studenttp3.name }" /><br>
<c:out value="${studenttp3.password }" /><br>
<c:out value="${studenttp3.group.id }" /><br>
<c:out value="${studenttp3.group.name }" /><br>
</div>
<hr>
<div>
<h1>参数修正</h1>
<c:out value="${nametp4 }" /><br>
<c:out value="${passwordtp4 }" /><br>
</div>
</body>
</html>

通过不同的提交,测试各个接受方式的结果,这里就不在一一展示测试结果了

SpringMVC学习笔记二:参数接受的更多相关文章

  1. springmvc学习笔记二:重定向,拦截器,参数绑定

    Controller方法返回值 返回ModelAndView controller方法中定义ModelAndView对象并返回,对象中可添加model数据.指定view. 返回void 在Contro ...

  2. springMVC学习笔记(二)-----注解和非注解入门小程序

    最近一直在做一个电商的项目,周末加班,忙的都没有时间更新博客了.终于在上周五上线了,可以轻松几天了.闲话不扯淡了,继续谈谈springMvc的学习. 现在,用到SpringMvc的大部分使用全注解配置 ...

  3. SpringMVC学习笔记二:常用注解

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6831976.html  参考:http://www.cnblogs.com/leskang/p/5445698 ...

  4. SpringMVC学习笔记(二)

    一.HandleMapping和HandlerAdapter的讲解 HandleMapping:处理映射器,可以理解为为请求的url查找对应的Controller类. HandlerAdapter:可 ...

  5. springMVC学习笔记二

    六.springmvc的注解 xml的配置→注解 1.新建一个配置文件还是在config下 新建springAnnotation-servlet.xml web.xml 修改初始化为<param ...

  6. SpringMVC 学习笔记(二) @RequestMapping、@PathVariable等注解

    版权声明:本文为博主原创文章,博客地址:http://blog.csdn.net/a67474506?viewmode=contents 1.1. @RequestMapping映射请求 Spring ...

  7. SpringMVC学习笔记二第一个小的程序

    首先:我们要用springmvc来写一个helloworld的例子: 首先我们需要导入所需要的架包: /demo1/WebRoot/WEB-INF/lib/commons-logging-1.1.1. ...

  8. SpringMVC学习笔记之二(SpringMVC高级参数绑定)

    一.高级参数绑定 1.1 绑定数组 需求:在商品列表页面选中多个商品,然后删除. 需求分析:功能要求商品列表页面中的每个商品前有一个checkbok,选中多个商品后点击删除按钮把商品id传递给Cont ...

  9. 史上最全的SpringMVC学习笔记

    SpringMVC学习笔记---- 一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于Spring ...

随机推荐

  1. MySQL--事务控制和锁定语句

    MySQL 支持对 MyISAM 和 MEMORY 存储引擎的表进行表级锁定,对 BDB 存储引擎的表进行页级锁定,对 InnoDB 存储引擎的表进行行级锁定.默认情况下,表锁和行锁都是自动获得的,不 ...

  2. ubuntu18安装pytorch1.3

    环境: ubuntu18 anaconda 创建一个新的环境 conda create -n env_name python=version 激活并进入环境中 conda activate env_n ...

  3. PyTorch基础——词向量(Word Vector)技术

    一.介绍 内容 将接触现代 NLP 技术的基础:词向量技术. 第一个是构建一个简单的 N-Gram 语言模型,它可以根据 N 个历史词汇预测下一个单词,从而得到每一个单词的向量表示. 第二个将接触到现 ...

  4. Juptyer中的图表显示参数

    from pylab import * import seaborn as sns # 图表显示参数 from IPython.display import display %matplotlib i ...

  5. python的稀疏矩阵计算

    尽量避免稀疏矩阵, 加快计算. 比如计算稀疏矩阵S的F范数 a = norm(S, 'fro'), 方法1效率比方法2高很多. 方法 1 import numpy as np a = np.linal ...

  6. python+selenium自动化--参数化(paramunittest)

    unnittest的参数化模块-paramunittest paramunittest是unittest实现参数化的一个专门的模块,可以传入多组参数,自动生成多个用例 两种用法 import unit ...

  7. 基于邻接表的长度为k的简单路径的求解

    描述 一个连通图采用邻接表作为存储结构.设计一个算法,判断无向图中任意给定的两点是否存在一条长度为k的简单路径. 输入 多组数据,每组m+3数据行.第一行有两个数字n,m和k,代表有n个顶点,m条边和 ...

  8. 从 0 到 1 到完美,写一个 js 库、node 库、前端组件库

    之前讲了很多关于项目工程化.前端架构.前端构建等方面的技术,这次说说怎么写一个完美的第三方库. 1. 选择合适的规范来写代码 js 模块化的发展大致有这样一个过程 iife => commonj ...

  9. nginx限制IP访问网站

    需求:网站只允许指定IP访问,其他访问一律拒绝server { listen 80; server_name a.com; index index.html index.htm index.php; ...

  10. HttpClient怎么获取cookie

    // 旧版 HttpClient httpClient = new DefaultHttpClient(); // execute get/post/put or whatever httpClien ...