1. package com.krry.web;
  2.  
  3. import javax.servlet.http.HttpServletRequest;
  4.  
  5. import org.springframework.stereotype.Controller;
  6. import org.springframework.ui.ModelMap;
  7. import org.springframework.web.bind.annotation.ModelAttribute;
  8. import org.springframework.web.bind.annotation.PathVariable;
  9. import org.springframework.web.bind.annotation.RequestMapping;
  10. import org.springframework.web.servlet.ModelAndView;
  11.  
  12. import com.fasterxml.jackson.annotation.JsonTypeInfo.Id;
  13.  
  14. import bean.User;
  15.  
  16. @Controller
  17. @RequestMapping("/model")
  18. public class ModelMapController extends BaseController {
  19. /********参数获取的方式**************************/
  20.  
  21. //http://localhost/krryxa/model/hanlder/1.html
  22. @RequestMapping("/handler/{id}")
  23. public String handler(@PathVariable("id")Integer id){
  24. //获得参数id为1
  25. return "redirect:/success.jsp";
  26. }
  27.  
  28. //http://localhost/krryxa/model/handler2.html?id=5
  29. @RequestMapping("/handler2")
  30. public String handler2(Integer id){
  31. //获得参数id为5
  32. System.out.println(id);
  33. return "redirect:/success.jsp";
  34. }
  35.  
  36. //通过对象的的注入方式最好
  37. //http://localhost/krryxa/model/handler3.html?username=1351
  38. @RequestMapping("/handler3")
  39. public String handler3(User user){
  40. //获得参数username为1351
  41. System.out.println(user.getUsername());
  42. return "redirect:/success.jsp";
  43. }
  44.  
  45. //http://localhost/krryxa/model/handler4.html?id=5
  46. @RequestMapping("/handler4")
  47. public String handler4(@ModelAttribute("teacher")User user){//若sessiong域中teacher改变了,这里也会改变
  48. //获得参数id为5
  49. System.out.println(request.getParameter("id"));
  50. return "redirect:/success.jsp";
  51. }
  52.  
  53. /**作用域的问题reuqest session application 以下作用域的范围都是:request**/
  54.  
  55. //在index页面直接用${message}获取
  56. @RequestMapping("/handler7")
  57. public String handler7(ModelMap map){
  58. //这里是map的addAttribute设置
  59. map.addAttribute("message", "我爱你吗。你们爱我我吗");
  60. return "model/index";
  61. }
  62.  
  63. //在index页面直接用${message}获取
  64. @RequestMapping("/handler5")
  65. public String handler5(){
  66. request.setAttribute("message", "我爱你吗。你们爱我我吗");
  67. return "model/index";
  68. }
  69.  
  70. //在index页面直接用${message}获取
  71. @RequestMapping("/handler6")
  72. public ModelAndView handler6(){
  73. //视图和作用域融合体
  74. ModelAndView modelAndView = new ModelAndView();
  75. modelAndView.setViewName("model/index"); //跳转到这个页面
  76. modelAndView.addObject("message", "是打发是大法师的发送到发士大夫阿什顿");
  77. return modelAndView;
  78. }
  79. //在index页面直接用${user.username}获取
  80. @RequestMapping("/handler8")
  81. public String handler8(@ModelAttribute("user")User user){
  82. user.setUsername("ModelAttribute 我爱你吗。你们爱我吗");
  83. return "model/index";
  84. }
  85.  
  86. }

controller层中,参数的获取方式以及作用域的问题的更多相关文章

  1. Spring core resourc层结构体系及JDK与Spring对classpath中资源的获取方式及结果对比

    1. Spring core resourc层结构体系 1.1. Resource相关结构体系 1.2. ResourceLoader相关体系 2. JDK与Spring对classpath中资源的获 ...

  2. token获取在controller层中

    集合判断是否为空 注意:token获取在controller层中,token中存的所有数据都要在controller中获取 在自己的接口里调用别的接口需要判断一下返回值是否为空

  3. SpringMVC之请求参数的获取方式

    转载出处:https://www.toutiao.com/i6510822190219264516/ SpringMVC之请求参数的获取方式 常见的一个web服务,如何获取请求参数? 一般最常见的请求 ...

  4. DRF 序列化组件 模型层中参数补充

    一. DRF序列化 django自带有序列化组件,但是相比rest_framework的序列化较差,所以这就不提django自带的序列化组件了. 首先rest_framework的序列化组件使用同fr ...

  5. SpringMVC请求参数的获取方式

    一.GET请求参数获取 1. 通过HttpServletRequest获取参数 2. 直接方法参数获取 3. RequestParam注解方式获取请求参数 4. Bean方式获取参数 5. Model ...

  6. SpringMVC在Controller层中注入request的坑

    记一次为了节省代码没有在方法体中声明HttpServletRequest,而用autowire直接注入所钻的坑 结论 给心急的人. 直接在Controller的成员变量上使用@Autowire声明Ht ...

  7. nodejs中命令行中参数的获取和解析

    首先,假设有如下的命令行 node  abc.js arg1 arg2 arg3,现在想在abc.js中获取后面的参数arg1.arg2.arg3… var args = process.argv.s ...

  8. controller函数中参数列表使用多个@RequestBody

    首先出现这种情况是因为有下面这种需求 $.ajax({ type: "POST", url: "${pageContext.request.contextPath}/co ...

  9. Junit mockito 测试Controller层方法有Pageable异常

    1.问题 在使用MockMVC+Mockito模拟Service层返回的时候,当我们在Controller层中参数方法调用有Pageable对象的时候,我们会发现,我们没办法生成一个Pageable的 ...

随机推荐

  1. 深度学习(二)更新ing~

    监督学习是指:利用一组已知类别的样本调整分类器的参数,使其达到所要求性能的过程,也称为监督训练或有教师学习 通俗来说就是人给过一个tag再来训练. 神经网络: 三个隐藏层的一个神经网络e.g 后面又提 ...

  2. windows搭建web服务器

    1.安装web管理工具 控制面板--->程序和功能--->打开或关闭功能 2.将internet信息服务中的所有选项全部勾上,并点击确定. 3.打开浏览器,输入http://localho ...

  3. java线程池技术(一):ThreadFactory与BlockingQueue

    版权声明:本文出自汪磊的博客,转载请务必注明出处. 一.ThreadFactory概述以及源码分析 ThreadFactory很简单,就是一个线程工厂也就是负责生产线程的,我们看下ThreadFact ...

  4. Linux知识体系之路径属性与目录

    最近在看鸟哥的Linux私房菜,我觉得这本书还是很不错的.这里进行相关的总结. 1.Linux目录权限概念   Linux一般讲目录可存取的方式分为三个类别,分别是owner/group/other, ...

  5. Chrome浏览器的自动安装下载工具

    链接 https://www.google.com/chrome/browser/desktop/index.html?brand=CHWL&utm_campaign=en&utm_s ...

  6. css去除ios文本框默认圆角

    css去除ios文本框默认圆角 input, textarea {-webkit-appearance: none;}

  7. dcoker实战,使用docker部署NodeJs应用

    docker简介   docker是一个开源的应用容器引擎,可以为我们提供安全.可移植.可重复的自动化部署的方式.docker采用虚拟化的技术来虚拟化出应用程序的运行环境.如上图一样.docker就像 ...

  8. ABP框架源码学习之授权逻辑

    asp.net core的默认的几种授权方法参考"雨夜朦胧"的系列博客,这里要强调的是asp.net core mvc中的授权和asp.net mvc中的授权不一样,建议先看前面& ...

  9. PHP常见面试题总结

    1.include 和 require 都能把另外一个文件包含到当前文件中 他们有什么区别?include 和 include_once 又有什么区别? 二者区别只有一个,那就是对包含文件的需求程度 ...

  10. w !sudo tee %

    w !sudo tee % 该命令可用于保存有权限的写文件