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层中,参数的获取方式以及作用域的问题的更多相关文章

  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. 2018-01-08 学习随笔 SpirngBoot整合Mybatis进行主从数据库的动态切换,以及一些数据库层面和分布式事物的解决方案

    先大概介绍一下主从数据库是什么?其实就是两个或N个数据库,一个或几个主负责写(当然也可以读),另一个或几个从只负责读.从数据库要记录主数据库的具体url以及BigLOG(二进制日志文件)的参数.原理就 ...

  2. PHP Extension开发(Zephir版本)

    上篇介绍了C语言开发PHP扩展的方法, 现在介绍使用Zephir开发扩展的方法. 关于Zephir需要简单介绍一下: Zephir 是为PHP开发人员提供的能够编写可编译/静态类型的高级语言.是优秀的 ...

  3. Java中的双重检查锁(double checked locking)

    最初的代码 在最近的项目中,写出了这样的一段代码 private static SomeClass instance; public SomeClass getInstance() { if (nul ...

  4. Linux 6.4 设置yum 为centOS源

    一. 删除Redhat 自带的yum // root 用户执行 rpm -aq|grep yum|xargs rpm -e --nodeps 二 .下载CentOS 的 yum 安装文件 wget h ...

  5. js中checkbox的全选和反选的实现

    <head> <meta charset="utf-8"/> <script type="text/javascript"> ...

  6. 使用Git的hook实现代码的自动部署

    这个功能非常的好用,可以省去诸多麻烦!我自己也是摸索了好久,才完全掌握的.希望能对大家有所帮助! 1,首先在我的阿里云服务器上已经创建好了一个代码远程的管理仓库,/srv/cmp.git 2, 在服务 ...

  7. 使用C#开发C/S框架高级版添加新项目实例

    操作步骤: 1.新建一个项目CSFramework3.test,在CSFramework3.test项目下新建一个FormMan窗口(此时不需要继承). 2.按F7打开类,替换一下引用 using S ...

  8. python+flask:实现POST接口功能

    1.首先需要安装python和flask,这个是必须的嘛. 2.我们这里实现的是一个POST功能的简单接口. from flask import Flask, request, jsonify imp ...

  9. 如何使用 VS生成动态库?

    如何使用 VS生成动态库? //.cpp 文件默认定义了 __cplusplus 宏 #ifdef __cplusplus extern "C"{ #endif xxx #ifde ...

  10. soj3129: windy和水星 -- 水星数学家 2

    注意int的范围:-2147483648-2147483647 如果输入会出现溢出,这题应该就是卡的这里.其使用long long就不用考虑这个. 加深:如果输入的数是很多位,直接当做字符串处理即可. ...