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 完成传值。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕业设计,基于SpringBoot+Vue+MySQL开发的公寓报修管理系统,源码+数据库+毕业论文+视频演示 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本公寓报修管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此公寓报修管理系统利用当下成熟完善的Spring Boot框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的MySQL数据库进行程序开发。公寓报修管理系统有管理员,住户,维修人员。管理员可以管理住户信息和维修人员信息,可以审核维修人员的请假信息,住户可以申请维修,可以对维修结果评价,维修人员负责住户提交的维修信息,也可以请假。公寓报修管理系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。 关键词:公寓报修管理系统;Spring Boot框架;MySQL;自动化;VUE
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值