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的 ...
随机推荐
- 浅析Numpy.genfromtxt及File I/O讲解
Python 并没有提供数组功能,虽然列表 (list) 可以完成基本的数组功能,但它并不是真正的数组,而且在数据量较大时,使用列表的速度就会慢的让人难受.为此,Numpy 提供了真正的数组功能,以及 ...
- python3图像识别库安装与使用
pytesseract库的安装 因为用的win10,就直说windows上面的安装了.其实就是pip安装就完事了. $ pip install pytesseract 安装了这个还不算完,得安装Tes ...
- 基于Spring Boot,使用JPA调用Sql Server数据库的存储过程并返回记录集合
在上一篇<基于Spring Boot,使用JPA操作Sql Server数据库完成CRUD>中完成了使用JPA对实体数据的CRUD操作. 那么,有些情况,会把一些查询语句写在存储过程中,由 ...
- 修改Request 中的数据
拦截器修改参数 今天一位网友开发中遇到一个需求,他需要在Request中修改传递过来的数据.开始的时候他在拦截器中修改,在拦截器中可以获取到从前台request中 传递过来的数据.他写法大致如下:自定 ...
- Netty基础点滴
编写一个应答服务器 编写一个应答服务器 写一个Netty服务器主要由两部分组成: 配置服务器功能,如线程.端口 实现服务器处理程序,它包含业务逻辑,决定当有一个请求连接或接收数据时该做什么 启动服务器 ...
- elasticsearch2.3.3安装
本文来自我的github pages博客http://galengao.github.io/ 即www.gaohuirong.cn 摘要: 作者原来搭建的环境是0.95版本 现在升级到2.3.3版本, ...
- 广告等第三方应用嵌入到web页面方案 之 使用js片段
在自己的项目中嵌入过广告的朋友们可能都用过百度联盟, 只需要嵌入如下一段js代码片段, 就可以在自己的项目中嵌入广告, 来获得收益. <script type="text javasc ...
- ActiveRecord的生命周期
ActiveRecord的生命周期,通过方法重写和插入我们需要的业务逻辑来达到我们对程序的控制. 示例: 1,beforeSave() public function beforeSave($inse ...
- 第十八章 DjangoWeb开发框架
第十八章 DjangoWeb开发框架 第一课 内容概要: 1.JS正则 -登录注册验证 2.组件 1.BootStrap -css -js 学习BootStrap规则 2.jQueryUI -css ...
- Hive分区表动态添加字段
场景描述: 公司埋点项目,数据从接口服务写入kafka集群,再从kafka集群消费写入HDFS文件系统,最后通过Hive进行查询输出.这其中存在一个问题就是:埋点接口中的数据字段是变化,后续会有少量字 ...