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

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

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

Student.java

  1. package com.orange.model;
  2.  
  3. public class Student {
  4.  
  5. private String name;
  6.  
  7. private String password;
  8.  
  9. private Group group;
  10.  
  11. public String getName() {
  12. return name;
  13. }
  14.  
  15. public void setName(String name) {
  16. this.name = name;
  17. }
  18.  
  19. public String getPassword() {
  20. return password;
  21. }
  22.  
  23. public void setPassword(String password) {
  24. this.password = password;
  25. }
  26.  
  27. public Group getGroup() {
  28. return group;
  29. }
  30.  
  31. public void setGroup(Group group) {
  32. this.group = group;
  33. }
  34.  
  35. }

Group.java

  1. package com.orange.model;
  2.  
  3. public class Group {
  4.  
  5. private int id;
  6.  
  7. private String name;
  8.  
  9. public int getId() {
  10. return id;
  11. }
  12.  
  13. public void setId(int id) {
  14. this.id = id;
  15. }
  16.  
  17. public String getName() {
  18. return name;
  19. }
  20.  
  21. public void setName(String name) {
  22. this.name = name;
  23. }
  24.  
  25. }

提供控制类ParameterController.java

  1. package com.orange.controller;
  2.  
  3. import org.springframework.stereotype.Controller;
  4. import org.springframework.web.bind.annotation.RequestMapping;
  5. import org.springframework.web.bind.annotation.RequestParam;
  6. import org.springframework.web.servlet.ModelAndView;
  7.  
  8. import com.orange.model.Student;
  9.  
  10. @Controller
  11. @RequestMapping(value="/parameter")
  12. public class ParameterController {
  13.  
  14. @RequestMapping(value="/tp1") //参数逐个接受
  15. public ModelAndView doParameter1(String name, String password, ModelAndView mav){
  16. mav.addObject("name", name);
  17. mav.addObject("password", password);
  18. mav.setViewName("/parameterShow.jsp");
  19. return mav;
  20. }
  21.  
  22. @RequestMapping(value="/tp2") //参数整体接受,使用Student类中的属性来接受参数
  23. public ModelAndView doParameter2(Student studenttp2, ModelAndView mav){
  24. mav.addObject("studenttp2", studenttp2);
  25. mav.setViewName("/parameterShow.jsp");
  26. return mav;
  27. }
  28.  
  29. @RequestMapping(value="/tp3") //参数域属性接受
  30. public ModelAndView doParameter3(Student studenttp3, ModelAndView mav){
  31. mav.addObject("studenttp3", studenttp3);
  32. mav.setViewName("/parameterShow.jsp");
  33. return mav;
  34. }
  35.  
  36. @RequestMapping(value="/tp4") //参数修正,把提交的参数pname修改为name,参数ppassword修改为password
  37. public ModelAndView doParameter4(@RequestParam("pname") String name, @RequestParam("ppassword") String passwordtp4, ModelAndView mav){
  38. mav.addObject("nametp4", name);
  39. mav.addObject("passwordtp4", passwordtp4);
  40. mav.setViewName("/parameterShow.jsp");
  41. return mav;
  42. }
  43.  
  44. }

测试的jsp文件,

parameter.jsp

  1. <%@ page language="java" contentType="text/html; charset=GBK"
  2. pageEncoding="GBK"%>
  3. <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
  4. <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
  5. <%
  6. String path = request.getContextPath();
  7. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
  8. %>
  9. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  10. <html>
  11. <head>
  12. <meta http-equiv="Content-Type" content="text/html; charset=GBK">
  13. <base href="<%=basePath %>">
  14. <title>Default Page</title>
  15. </head>
  16. <body>
  17. <div>
  18. <h1>参数逐个接受</h1><br>
  19. <form action="parameter/tp1">
  20. name: <input type="text" name="name"><br>
  21. password: <input type="text" name="password"><br>
  22. <input type="submit" value="submit">
  23. </form>
  24. </div>
  25. <hr>
  26. <div>
  27. <h1>参数整体接受</h1>
  28. <form action="parameter/tp2">
  29. name: <input type="text" name="name"><br>
  30. password: <input type="text" name="password"><br>
  31. <input type="submit" value="submit">
  32. </form>
  33. </div>
  34. <hr>
  35. <div>
  36. <h1>参数域属性接受</h1>
  37. <form action="parameter/tp3">
  38. name: <input type="text" name="name"><br>
  39. password: <input type="text" name="password"><br>
  40. group.id <input type="text" name="group.id"><br>
  41. group.name <input type="text" name="group.name"><br>
  42. <input type="submit" value="submit">
  43. </form>
  44. </div>
  45. <hr>
  46. <div>
  47. <h1>参数修正</h1>
  48. <form action="parameter/tp4">
  49. name: <input type="text" name="pname"><br>
  50. password: <input type="text" name="ppassword"><br>
  51. <input type="submit" value="submit">
  52. </form>
  53. </div>
  54. <hr>
  55. </body>
  56. </html>

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

  1. <%@ page language="java" contentType="text/html; charset=GBK"
  2. pageEncoding="GBK"%>
  3. <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
  4. <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
  5. <%
  6. String path = request.getContextPath();
  7. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
  8. %>
  9. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  10. <html>
  11. <head>
  12. <meta http-equiv="Content-Type" content="text/html; charset=GBK">
  13. <base href="<%=basePath %>">
  14. <title>Default Page</title>
  15. </head>
  16. <body>
  17. <div>
  18. <h1>参数逐个接受</h1>
  19. <c:out value="${name }" /><br>
  20. <c:out value="${password }" /><br>
  21. </div>
  22. <hr>
  23. <div>
  24. <h1>参数整体接受</h1>
  25. <c:out value="${studenttp2.name }" /><br>
  26. <c:out value="${studenttp2.password }" /><br>
  27. </div>
  28. <hr>
  29. <div>
  30. <h1>参数域属性接受</h1>
  31. <c:out value="${studenttp3.name }" /><br>
  32. <c:out value="${studenttp3.password }" /><br>
  33. <c:out value="${studenttp3.group.id }" /><br>
  34. <c:out value="${studenttp3.group.name }" /><br>
  35. </div>
  36. <hr>
  37. <div>
  38. <h1>参数修正</h1>
  39. <c:out value="${nametp4 }" /><br>
  40. <c:out value="${passwordtp4 }" /><br>
  41. </div>
  42. </body>
  43. </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. 理解自动梯度计算autograd

    理解自动求导 例子 def f(x): a = x * x b = x * a c = a + b return c 基于图理解 代码实现 def df(x): # forward pass a = ...

  2. 【MySQL参数】- query_cache_type

    MySQL为什么要关闭查询缓存 https://blog.csdn.net/liqfyiyi/article/details/50178591 Query cache的优化方法 https://blo ...

  3. 吴裕雄--天生自然Linux操作系统:Linux 系统启动过程

    linux启动时我们会看到许多启动信息. Linux系统的启动过程并不是大家想象中的那么复杂,其过程可以分为5个阶段: 内核的引导. 运行 init. 系统初始化. 建立终端 . 用户登录系统. in ...

  4. 03 Mybatis:01.Mybatis课程介绍及环境搭建&&02.Mybatis入门案例

    mybatis框架共四天第一天:mybatis入门 mybatis的概述 mybatis的环境搭建 mybatis入门案例 -------------------------------------- ...

  5. Iptables用法规则及防火墙配置

    [转载]http://www.cnblogs.com/yi-meng/p/3213925.html iptables规则  即防火墙规则,在内核看来,规则就是决定如何处理一个包的语句.如果一个包符合条 ...

  6. [HNOI2019]白兔之舞(矩阵快速幂+单位根反演)

    非常抱歉,这篇文章鸽了.真的没时间写了. #include<bits/stdc++.h> using namespace std; typedef long long ll; #defin ...

  7. Opencv笔记(十一)——图像模糊(平滑)

    学习目标: 使用自定义的滤波器对图像进行卷积(2D 卷积) 学习使用不同的低通滤波器对图像进行模糊 一.2D卷积 卷积不是很了解的可以看我上一篇博客,与语音信号一样,我们也可以对 2D 图像实施低通滤 ...

  8. [GX/GZOI2019]与或和(单调栈+按位运算)

    首先看到与或,很显然想到按照位拆分运算.然后就变成了0/1矩阵,要使矩阵在当前位与为1,则矩阵全为1,如果是或为1,则是矩阵不全为0,然后求全为0/1的矩阵个数即可.记录c[i][j]表示以a[i][ ...

  9. USB Reverse Tether (a dirty solution)

    Tether your android phone to your PC using USB cable could share your 3g Internet connection with PC ...

  10. 20)PHP,数组的遍历

    然后开始使用这2个函数和while循环结构来实现数组遍历: 形式: reset($arr1); while ( list ($key, $value ) = each( $arr1) ) //从数组$ ...