import javax.servlet.http.HttpServletRequest;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView; @Controller
public class Params { public Params() {
System.out.println("costructor....");
} /*
* 方式1:通过注入httpServletRequest进行参数设置,并跟随返回的视图传递到页面
*/
@RequestMapping("/ppp1")
public String param(HttpServletRequest req) {
req.setAttribute("msg", "you");
return "/WEB-INF/hello.jsp";
} /*
* 方式2:通过原始的modelAndView设置模型数据和视图名称,,并返回
*/
@RequestMapping("/ppp2")
public ModelAndView param2() {
ModelAndView mav = new ModelAndView();
User user = new User();
user.setName("俩后");
mav.addObject("user", user);
mav.setViewName("/WEB-INF/hello.jsp");
mav.addObject("msg", "ck");
return mav;
} /*
* 方式3:通过向方法注入形参Model类的对象,该对象由spring自动功能创建添加,model对象添加模型数据
* 而返回的字符串负责指向要跳转的视图名称
*/
@RequestMapping("/ppp3")
public String param3(Model model) {
User user = new User();
user.setName("俩后的");
model.addAttribute("user", user);
model.addAttribute("msg", "ck");
return "/WEB-INF/hello.jsp";
}
/*
* 方式4:直接将返回值作为模型对象返回
* 此时,视图名就是该方法的访问地址,即/ppp4,
*/
@RequestMapping("/ppp4")
public User param4() {
User user = new User();
user.setName("俩后的");
return user;
}
}

上面四种方式都是将数据放在request作用域中的,通过${requestScope.xxx}可以取出数据

最新文章

  1. MetaWeblog博客客户端工具之Windows Live Writer
  2. kuangbin_ShortPath O (LightOJ 1074)
  3. C++宏定义详解
  4. Java 关于 == 和 equal()的区别
  5. uboot总结:uboot配置和启动过程3(config.mk分析)
  6. 织梦dedecms网站六大SEO优化技巧(转帖)
  7. 吾八哥学Python(四):了解Python基础语法(下)
  8. 使用原生JS定位网页元素
  9. vcenter 忘记 administrator@vsphere.local 密码怎么办
  10. 开启 IPv6 新时代,升级后的 IPv6 厉害在哪?
  11. Saltstack 安装配置详解
  12. 苹果手机input有圆角阴影的解决方法
  13. iOS 使用xib定义一个View,修改frame无效问题解决
  14. Python中文语料批量预处理手记
  15. JS 解决json字符串转换成json树形输出
  16. android studio 一直卡在Gradle:Build Running的解决办法
  17. php mysql_db_query()函数使用介绍
  18. CodeForces - 620C Pearls in a Row 贪心 STL
  19. Python垃圾回收机制及gc模块详解:内存泄露的例子
  20. Java第一周学习总结5311

热门文章

  1. STS(Spring tool suite)集成配置jdk,maven和Tomcat
  2. vue项目内嵌入到app input type=file 坑(文件上传插件)
  3. Android动态广播的注册与销毁
  4. img控件的居中显示 ---js技术
  5. 利用docker启动 wordpress
  6. 如何将打印内容转换为bmp位图文件
  7. 改善EDM数据营销的关键点
  8. 为解决Thymeleaf数字格式化问题而想到的几种方案
  9. 阶段3 2.Spring_04.Spring的常用注解_7 改变作用范围以及和生命周期相关的注解
  10. 【转】Unity ZTest 深度测试 & ZWrite 深度写入