Spring MVC 学习笔记3 - 利用Default Annotation 模式获取请求,使Controller与View对应,并传值。
1. WEB-INF/web.xml 这里定义了获取请求后,执行的第一步。抓取请求。
<servlet>
<servlet-name>appServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
2. WEB-INF/spring/appServlet/servlet-context.xml
这里定义了Dispatcher Servlet模式
<!--Default Annotation model- Dispacher Servlet-->
<!-- Enables the Spring MVC @Controller programming model -->
<annotation-driven /> <!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources in the ${webappRoot}/resources directory -->
<resources mapping="/resources/**" location="/resources/" />
3. src.main.java.edu.bit.myhello/HelloController.java
//Controller文件:处理请求,完成操作。
package edu.bit.myhello;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping; @Controller//@Controller注入
public class HelloController { //表示用哪个url请求来对应本方法:
@RequestMapping({"/hello","/"})
public String hello(){
System.out.println("Hello, HelloController");
return "hello00"; //返回一个hello字串,会调用WEB-INF/views/hello00.jsp进行显示。
}
}
Spring MVC 传值(一)
1. 从视图传值给Controller
Internal View Resolver 方法, 通过函数的参数来传递。
在HelloController.java文件中,
-----------
@RequestMapping({"/hello"})
public String hello(String stringIn){ //此时在浏览器中输入 {url}/hello?stringIn=AAA
System.out.println(stringIn);
return "hello";
}
==========
可见,有 public String hello(String stringIn) ,通过函数参数传值给Controller的方法。
这里介绍使用@RequestParam来传值给Controller。
在src/main/java/.../HomeController.java中
@RequestMapping({"/view2controller"}) // ?inString=AAA,通过这种方式传值、请求
public String view2controller(@RequestParam("inString") String reString){
//(@RequestParam("inString") String reString)
System.out.println(reString);
return "home"; //mapback to home.jsp
}
浏览器中输入: ${url}/view2controller?inString=ABCD回车,Console中显示:XXX
如果浏览器中输入: ${url}/view2controller回车,浏览器显示400错误。
即:【如果必须传值,使用@RequestParam要求一下,不必须,直接用view2controller(String reString)】
2. 从Controller传值给视图
在Controller的方法中,创建"Map<String,Object> context","context.put("stringOut", stringIn)"
在hello.jsp中,加入${stringOut}.
如:
在HelloController.java文件中,
----------
@RequestMapping({"/hello"})
public String hello(String stringIn,Map<String,Object> context){ //Map String Obj. context
context.put("stringOut", stringIn); //add context.put<Stringkey, ObjectValue>
System.out.println(stringIn);
return "hello";
}
==========
在hello.jsp中:
----------
<body>
<p>hello!!, ${stringOut}.</p>
</body>
==========
在浏览器地址栏中输入:{url}/hello?StringIn=my dear redfish
显示:hello! my dear red fish.
Spring MVC 传值(二)——使用Model,从Controller传值给视图
在homeController.java文件中,定义method时,使用Model而不是Map
----------
@RequestMapping({"/home"})
public String home(String homenameIn,Model model){ //我们习惯使用Model而不是Map
model.addAttribute("homeMsg",homenameIn); //model.addAttribute加入一个分配
return "home";
}
===========
home.jsp中,同样使用${homeMsg} 完成显示。
浏览器中,同样使用 /home?homenameIn= my redfish 完成传值。
Spring MVC 学习笔记3 - 利用Default Annotation 模式获取请求,使Controller与View对应,并传值。的更多相关文章
- Spring MVC 学习笔记2 - 利用Spring Tool Suite创建一个web 项目
Spring MVC 学习笔记2 - 利用Spring Tool Suite创建一个web 项目 Spring Tool Suite 是一个带有全套的Spring相关支持功能的Eclipse插件包. ...
- Spring MVC 学习笔记一 HelloWorld
Spring MVC 学习笔记一 HelloWorld Spring MVC 的使用可以按照以下步骤进行(使用Eclipse): 加入JAR包 在web.xml中配置DispatcherServlet ...
- Spring MVC 学习笔记12 —— SpringMVC+Hibernate开发(1)依赖包搭建
Spring MVC 学习笔记12 -- SpringMVC+Hibernate开发(1)依赖包搭建 用Hibernate帮助建立SpringMVC与数据库之间的联系,通过配置DAO层,Service ...
- Spring MVC 学习笔记8 —— 实现简单的用户管理(4)用户登录
Spring MVC 学习笔记8 -- 实现简单的用户管理(4)用户登录 增删改查,login 1. login.jsp,写在外面,及跟WEB-INF同一级目录,如:ls Webcontent; &g ...
- Spring MVC 学习笔记1 - First Helloworld by Eclipse【& - java web 开发Tips集锦】
Spring MVC 学习笔记1 - First Helloworld by Eclipse reference:http://www.gontu.org 1. 下载 Spring freamwork ...
- Spring MVC 学习笔记11 —— 后端返回json格式数据
Spring MVC 学习笔记11 -- 后端返回json格式数据 我们常常听说json数据,首先,什么是json数据,总结起来,有以下几点: 1. JSON的全称是"JavaScript ...
- Spring MVC 学习笔记10 —— 实现简单的用户管理(4.3)用户登录显示全局异常信息
</pre>Spring MVC 学习笔记10 -- 实现简单的用户管理(4.3)用户登录--显示全局异常信息<p></p><p></p>& ...
- Spring MVC 学习笔记9 —— 实现简单的用户管理(4)用户登录显示局部异常信息
Spring MVC 学习笔记9 -- 实现简单的用户管理(4.2)用户登录--显示局部异常信息 第二部分:显示局部异常信息,而不是500错误页 1. 写一个方法,把UserException传进来. ...
- Spring MVC 学习笔记(整理)
SpringMVC学习 1.概述 Spring MVC是一种基于Java实现MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行解耦,基于请求-响应模型帮助我们 ...
随机推荐
- 51Nod 1091:线段的重叠(贪心)
1091 线段的重叠 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题 收藏 关注 X轴上有N条线段,每条线段包括1个起点和终点.线段的重叠是这样来算的,[10 ...
- HDU 1251:统计难题
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1251 题意不难理解,就是先输入不知道多少个字符串,然后用一个空行结束这个输入,然后接下来不知道多少行再 ...
- (5)可变、不可变和hash函数
分类情况 与列表相似,列表用[],元组是()表示 内存角度看列表与数字的变与不变 列表 >>>l = [1,2,3,4] >>>id(l) 4392665160 & ...
- 【poj3169】【差分约束+spfa】
题目链接http://poj.org/problem?id=3169 题目大意: 一些牛按序号排成一条直线. 有两种要求,A和B距离不得超过X,还有一种是C和D距离不得少于Y,问可能的最大距离.如果没 ...
- 安装maven和glassfish及配置环境变
首先搜索并下载maven3.6.0和glassfish4.1.1(版本看按需要选择). 点击安装包进行安装 安装完成后开始配置环境变量 打开系统环境变量 (1)新建系统变量MAVEN_HOME 变量值 ...
- 弱也有弱的ACM经历
作为一名弱校的acm渣渣,在经历了三年的acm生涯后,现在终于要毕业了,最后也来总结下自己在这几年中做acm的经历与感受.以下是参赛总结: 2013年: ACM/ICPC长沙邀请赛(打铁=_=) AC ...
- WPF 带CheckBox、图标的TreeView(转)
在WPF实际项目开发的时候,经常会用到带CheckBox的TreeView,虽然微软在WPF的TreeView中没有提供该功能,但是微软在WPF中提供强大的ItemTemplate模板功能和自定义样式 ...
- ansible copy file
ansible xxxip -m copy -a 'src=/localdir/file dest=/sss/xxx/basic_search/bin/'
- signal()信号操作
一.函数描述 #include <signal.h> typedef void (*sighandler_t)(int);sighandler_t signal(int signum, s ...
- /etc/grub.conf
http://leejia.blog.51cto.com/4356849/788902 grub.conf是grub的主配置文件,通过这个配置文件,grub才能找到kernel,系统才能正常启动. # ...