controller层中,参数的获取方式以及作用域的问题
- package com.krry.web;
- import javax.servlet.http.HttpServletRequest;
- import org.springframework.stereotype.Controller;
- import org.springframework.ui.ModelMap;
- import org.springframework.web.bind.annotation.ModelAttribute;
- import org.springframework.web.bind.annotation.PathVariable;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.servlet.ModelAndView;
- import com.fasterxml.jackson.annotation.JsonTypeInfo.Id;
- import bean.User;
- @Controller
- @RequestMapping("/model")
- public class ModelMapController extends BaseController {
- /********参数获取的方式**************************/
- //http://localhost/krryxa/model/hanlder/1.html
- @RequestMapping("/handler/{id}")
- public String handler(@PathVariable("id")Integer id){
- //获得参数id为1
- return "redirect:/success.jsp";
- }
- //http://localhost/krryxa/model/handler2.html?id=5
- @RequestMapping("/handler2")
- public String handler2(Integer id){
- //获得参数id为5
- System.out.println(id);
- return "redirect:/success.jsp";
- }
- //通过对象的的注入方式最好
- //http://localhost/krryxa/model/handler3.html?username=1351
- @RequestMapping("/handler3")
- public String handler3(User user){
- //获得参数username为1351
- System.out.println(user.getUsername());
- return "redirect:/success.jsp";
- }
- //http://localhost/krryxa/model/handler4.html?id=5
- @RequestMapping("/handler4")
- public String handler4(@ModelAttribute("teacher")User user){//若sessiong域中teacher改变了,这里也会改变
- //获得参数id为5
- System.out.println(request.getParameter("id"));
- return "redirect:/success.jsp";
- }
- /**作用域的问题reuqest session application 以下作用域的范围都是:request**/
- //在index页面直接用${message}获取
- @RequestMapping("/handler7")
- public String handler7(ModelMap map){
- //这里是map的addAttribute设置
- map.addAttribute("message", "我爱你吗。你们爱我我吗");
- return "model/index";
- }
- //在index页面直接用${message}获取
- @RequestMapping("/handler5")
- public String handler5(){
- request.setAttribute("message", "我爱你吗。你们爱我我吗");
- return "model/index";
- }
- //在index页面直接用${message}获取
- @RequestMapping("/handler6")
- public ModelAndView handler6(){
- //视图和作用域融合体
- ModelAndView modelAndView = new ModelAndView();
- modelAndView.setViewName("model/index"); //跳转到这个页面
- modelAndView.addObject("message", "是打发是大法师的发送到发士大夫阿什顿");
- return modelAndView;
- }
- //在index页面直接用${user.username}获取
- @RequestMapping("/handler8")
- public String handler8(@ModelAttribute("user")User user){
- user.setUsername("ModelAttribute 我爱你吗。你们爱我吗");
- return "model/index";
- }
- }
controller层中,参数的获取方式以及作用域的问题的更多相关文章
- Spring core resourc层结构体系及JDK与Spring对classpath中资源的获取方式及结果对比
1. Spring core resourc层结构体系 1.1. Resource相关结构体系 1.2. ResourceLoader相关体系 2. JDK与Spring对classpath中资源的获 ...
- token获取在controller层中
集合判断是否为空 注意:token获取在controller层中,token中存的所有数据都要在controller中获取 在自己的接口里调用别的接口需要判断一下返回值是否为空
- SpringMVC之请求参数的获取方式
转载出处:https://www.toutiao.com/i6510822190219264516/ SpringMVC之请求参数的获取方式 常见的一个web服务,如何获取请求参数? 一般最常见的请求 ...
- DRF 序列化组件 模型层中参数补充
一. DRF序列化 django自带有序列化组件,但是相比rest_framework的序列化较差,所以这就不提django自带的序列化组件了. 首先rest_framework的序列化组件使用同fr ...
- SpringMVC请求参数的获取方式
一.GET请求参数获取 1. 通过HttpServletRequest获取参数 2. 直接方法参数获取 3. RequestParam注解方式获取请求参数 4. Bean方式获取参数 5. Model ...
- SpringMVC在Controller层中注入request的坑
记一次为了节省代码没有在方法体中声明HttpServletRequest,而用autowire直接注入所钻的坑 结论 给心急的人. 直接在Controller的成员变量上使用@Autowire声明Ht ...
- nodejs中命令行中参数的获取和解析
首先,假设有如下的命令行 node abc.js arg1 arg2 arg3,现在想在abc.js中获取后面的参数arg1.arg2.arg3… var args = process.argv.s ...
- controller函数中参数列表使用多个@RequestBody
首先出现这种情况是因为有下面这种需求 $.ajax({ type: "POST", url: "${pageContext.request.contextPath}/co ...
- Junit mockito 测试Controller层方法有Pageable异常
1.问题 在使用MockMVC+Mockito模拟Service层返回的时候,当我们在Controller层中参数方法调用有Pageable对象的时候,我们会发现,我们没办法生成一个Pageable的 ...
随机推荐
- 深度学习(二)更新ing~
监督学习是指:利用一组已知类别的样本调整分类器的参数,使其达到所要求性能的过程,也称为监督训练或有教师学习 通俗来说就是人给过一个tag再来训练. 神经网络: 三个隐藏层的一个神经网络e.g 后面又提 ...
- windows搭建web服务器
1.安装web管理工具 控制面板--->程序和功能--->打开或关闭功能 2.将internet信息服务中的所有选项全部勾上,并点击确定. 3.打开浏览器,输入http://localho ...
- java线程池技术(一):ThreadFactory与BlockingQueue
版权声明:本文出自汪磊的博客,转载请务必注明出处. 一.ThreadFactory概述以及源码分析 ThreadFactory很简单,就是一个线程工厂也就是负责生产线程的,我们看下ThreadFact ...
- Linux知识体系之路径属性与目录
最近在看鸟哥的Linux私房菜,我觉得这本书还是很不错的.这里进行相关的总结. 1.Linux目录权限概念 Linux一般讲目录可存取的方式分为三个类别,分别是owner/group/other, ...
- Chrome浏览器的自动安装下载工具
链接 https://www.google.com/chrome/browser/desktop/index.html?brand=CHWL&utm_campaign=en&utm_s ...
- css去除ios文本框默认圆角
css去除ios文本框默认圆角 input, textarea {-webkit-appearance: none;}
- dcoker实战,使用docker部署NodeJs应用
docker简介 docker是一个开源的应用容器引擎,可以为我们提供安全.可移植.可重复的自动化部署的方式.docker采用虚拟化的技术来虚拟化出应用程序的运行环境.如上图一样.docker就像 ...
- ABP框架源码学习之授权逻辑
asp.net core的默认的几种授权方法参考"雨夜朦胧"的系列博客,这里要强调的是asp.net core mvc中的授权和asp.net mvc中的授权不一样,建议先看前面& ...
- PHP常见面试题总结
1.include 和 require 都能把另外一个文件包含到当前文件中 他们有什么区别?include 和 include_once 又有什么区别? 二者区别只有一个,那就是对包含文件的需求程度 ...
- w !sudo tee %
w !sudo tee % 该命令可用于保存有权限的写文件