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的 ...
随机推荐
- Go基础之--接口
定义 在Go语言中,一个类只要实现了接口要求的所有函数,我们就说这个类实现了该接口 interface类型可以定义一组方法,用来表示一个对象的行为特征,interface不能包含任何变量,接口是引用类 ...
- python爬虫(3)——SSL证书与Handler处理器
一.SSL证书问题 上一篇文章,我们创建了一个小爬虫,下载了上海链家房产的几个网页.实际上我们在使用urllib联网的过程中,会遇到证书访问受限的问题. 处理HTTPS请求SSL证书验证,如果SSL证 ...
- LeetCode - 776. Split BST
Given a Binary Search Tree (BST) with root node root, and a target value V, split the tree into two ...
- docker dead but pid file exists
CentOS 6安装docker 报docker dead but pid file exists 执行 yum install epel-release yum install docker-io ...
- 【Tools】linux更改分辨率,解决虚拟机安装后太小的问题
Linux更改屏幕分辨率 1,分辨率模式已存在 1)如何查询是否存在: 终端输入命令:xrandr,即会输出当前已存在的分辨率模式. 2)如何配置: 使用命令xrandr --output 显示器名称 ...
- 一个客户端一键安装环境和服务的shell脚本
#!/bin/bash basepath=$(cd `dirname $0`; pwd)SHELL_DIR="${basepath}/shell"PACKAGE_DIR=" ...
- mysql 获取上个月,这个月的第一天或最后一天
/*上个月今天的当前时间*/select date_sub(now(),interval 1 month) /*上个月今天的当前时间(时间戳)*/select UNIX_TIMESTAMP(date_ ...
- 想玩 BGP 路由器么?用 CentOS 做一个
在之前的教程中,我对如何简单地使用Quagga把CentOS系统变成一个不折不扣地OSPF路由器做了一些介绍.Quagga是一个开源路由软件套件.在这个教程中,我将会重点讲讲如何把一个Linux系统变 ...
- VC下防止反汇编的办法(1)
最近在看IDA的书,讲汇编语言的部分提到了一种防止递归向下汇编器逆向程序的方法 这里esp指向栈顶,也就是调用方最后入栈的返回地址.然而实际在VC2017里用内联汇编这么做是不行的,原因可以看看VC生 ...
- Linux 安装配置 FTP 服务 (vsftpd)
1. 安装 vsftpd yum install vsftpd -y 2. 创建用户 record adduser -s /bin/nologin -d /var/RecordFile/ record ...