`
schy_hqh
  • 浏览: 555906 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

spring_MVC_02 值传递

 
阅读更多

使用Spring MVC 实现页面提交数据的获取与返回

 

使用@RequestParam(required=true) ,表示页面请求必须传入参数

package com.hqh.student.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

//配置为控制器
@Controller
public class FirstController {
	
	//配置请求映射策略
	@RequestMapping(value={"/hello"})
	public String hello(@RequestParam(required=true) int id) {
		System.out.println("FirstController.hello()");
		return "hello";
	}
}

如果请求的URL没有传入参数,会报错,提示没有传递需要的参数值

正确的访问方式: 

http://localhost:8080/spring_mvc_01/hello?id=1

 

配置默认参数

package com.hqh.student.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

//配置为控制器
@Controller
public class FirstController {
	
	//配置请求映射策略
	@RequestMapping(value={"/hello"})
	public String hello(@RequestParam(required=true,defaultValue="100") int id) {
		System.out.println(id);
		return "hello";
	}
}

 

如果没有传递参数,使用默认值,而不会报错

http://localhost:8080/spring_mvc_01/hello

结果:100

如果传入了参数,则使用传递的参数,默认值无效

http://localhost:8080/spring_mvc_01/hello?id=9 

结果:9

 

定制页面传入的参数名

package com.hqh.student.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

//配置为控制器
@Controller
public class FirstController {
	
	//配置请求映射策略
	@RequestMapping(value={"/hello"})
	public String hello(@RequestParam(value="userId") int id) {
		System.out.println(id);
		return "hello";
	}
}

 指定页面传递的参数名称为userId,只有当参数名为userId时,才能正确访问

http://localhost:8080/spring_mvc_01/hello?userId=1

结果:1

 

 

向客户端返回数据

通过MAP传递数据,只要在方法的参数中定义一个Map,然后往Map中put值,页面通过key就能取到

太NB了!

@RequestMapping(value={"/say"})
public String say(String name,Map<String,Object> retMap) {
	System.out.println("name="+name);
	retMap.put("say", "spring mvc is very good!");
	return "say";
}

 WEB-INF/jsp/say.js

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
	<h1>${say}</h1>
</body>
</html>

 

请求:http://localhost:8080/spring_mvc_01/say?name=zhangsan

后台获取到的数据:name=zhangsan

页面获取到的数据:spring mvc is very good!

 

 使用Model进行数据传递(推荐)

@RequestMapping(value="/shout")
public String shout(Model model) {
	//没有key,key为Object.即,如果是String,则key为string
	model.addAttribute("struts2 is bad!");
	//通过key,value进行传递
	model.addAttribute("spring_mvc", "so easy!");
	return "shout";
}

 WEB-INF/jsp/shout.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
	<h1>${string}</h1>
	<h1>${spring_mvc}</h1>
</body>
</html>

 URL:http://localhost:8080/spring_mvc_01/shout

返回给页面的结果:

struts2 is bad!

so easy!

 

 获取request对象,session对象等

//获取request对象
@RequestMapping(value={"/execute"})
public String execute(HttpServletRequest request) {
 //spring会自动将request对象传入
 HttpSession session = request.getSession();
 String uri = request.getRequestURI();
 System.out.println(uri);
 return "shout";
}

 

 

 

 

 

 

分享到:
评论

相关推荐

    spring_mvc.zip_spring_spring mvc_springmvc_springmvc架构

    学习者可以通过这些示例理解Spring MVC的工作流程,如何配置DispatcherServlet,如何创建控制器,以及如何将数据传递到视图。 总之,Spring MVC是一个强大且灵活的Web开发框架,能够帮助开发者高效地构建MVC结构的...

    Spring_MVC_教程_快速入门_深入分析 高清文字版PDF

    Spring MVC是一个流行的Java框架,用于开发Web应用程序,遵循MVC(Model-View-Controller)设计模式。MVC模式将应用程序分成三个主要部分:模型(Model)、视图(View)和控制器(Controller)。模型代表业务对象和...

    精通Spring_Web_MVC优秀框架.pdf

    ### Spring Web MVC 框架核心知识点解析 #### 一、Spring Web MVC 概述 - **Spring Web MVC** 是一种轻量级的基于MVC(Model-View-Controller)设计模式的Web应用框架,其核心是实现了MVC设计模式,并且深度集成了...

    Spring_MVC_实战教程

    通过这个实战教程,开发者可以了解Spring MVC的基本工作流程,包括从用户界面到控制器的请求传递,再到数据处理和响应生成的全过程。掌握这些知识后,可以更高效地构建基于Spring MVC的复杂web应用。

    Hotel_SPring_MVC

    【Spring MVC 框架详解】 Spring MVC 是一个基于 Java 的模型-视图-控制器(MVC)架构,是 Spring 框架的一部分,用于构建Web应用程序。它为开发者提供了强大的控制层,使得开发过程更加模块化,易于测试和维护。在...

    spring_mvc2

    Spring MVC 是一个基于Java的轻量级Web应用框架,它为构建RESTful风格的Web应用程序提供了强大的支持。作为Spring框架的重要组成部分,Spring MVC以其模块化、松耦合和高度可配置性深受开发者喜爱。在“spring_mvc2...

    我学spring_mvc_01

    在实际开发中,我们还需要了解Spring MVC的其他特性,如拦截器(Interceptor)、异常处理、局部变量和模型数据传递、上传下载支持等。同时,结合源码阅读,可以帮助我们更好地理解其内部机制。 总的来说,"我学...

    Spring_MVC.rar_T7Y_springmvc

    5. **ModelAndView**:在Spring MVC中,用于在Controller和View之间传递数据的对象,包含模型数据和视图名。 6. **@RequestMapping**:这个注解用于映射HTTP请求到特定的方法,可以指定URL路径、HTTP方法(GET、...

    spring_mvc_test

    Spring MVC 是一款强大的Java Web开发框架,用于构建可维护、高性能的Web应用程序。它作为Spring框架的一部分,提供了模型-视图-控制器(MVC)架构,简化了开发流程,使得开发者能够专注于业务逻辑,而非底层的HTTP...

    基于Maven的Spring_+_Spring_MVC_+_Mybatis的环境搭建

    ### 基于Maven的Spring + Spring MVC + MyBatis环境搭建详解 #### 一、项目背景与目标 在本篇文章中,我们将探讨如何基于Maven构建一个包含Spring、Spring MVC以及MyBatis框架的集成环境。项目的主要目的是为了...

    基于注解方式的spring_mvc_jdbcTemplate

    在IT行业中,Spring MVC是一个广泛使用的Java Web框架,它基于Spring框架,专为构建Web应用程序而设计。Spring MVC提供了一种优雅的方式,通过模型-视图-控制器(MVC)架构来分离关注点,使开发者可以更专注于业务...

    spring_mvc学习笔记

    在Spring MVC的学习过程中,了解和掌握其核心概念与机制至关重要。Spring MVC是Spring框架的一个模块,主要用于构建Web应用程序。在Spring 3.0.x版本中,Spring MVC进行了大量的改进,引入了许多新特性和优化,使其...

    最全最经典spring-mvc教程

    Spring MVC 是一款强大的Java Web开发框架,用于构建高效、可维护和模块化的Web应用程序。它作为Spring框架的一部分,提供了一种优雅的方式来处理HTTP请求和响应,使得开发者可以专注于业务逻辑而不是底层实现。在这...

    spring_mvc_start

    Spring MVC 是一个基于 Java 的轻量级 Web 开发框架,它是 Spring 框架的重要组成部分,主要用于构建 MVC(Model-View-Controller)架构的 Web 应用程序。本教程将深入探讨 Spring MVC 的核心概念、配置、使用方法...

    Spring_MVC_3.0实战指南

    在 Spring MVC 中,可以通过 `Model` 或 `ModelMap` 对象向视图传递数据。这些数据可以在视图层展示或用于生成动态内容。例如: ```java @RequestMapping(value = "/details") public String details(Model model) ...

    spring-mvc-study.zip_spring mvc_spring mvc项目_springmvc

    Spring MVC 是一个基于 Java 的轻量级 Web 开发框架,它是 Spring 框架的一部分,主要用于构建 MVC(Model-View-Controller)模式的 Web 应用程序。在本项目 "spring-mvc-study" 中,我们可以看到一些核心的文件和...

    java_mvc.rar_MVC example_java MVC_mvc_mvc代码_mvc例子

    Java中常见的MVC框架有Spring MVC和Struts2。Spring MVC是Spring框架的一部分,提供了一种高度模块化和可配置的方式来构建Web应用。它使用DispatcherServlet作为入口点,处理所有的HTTP请求,并根据请求映射到相应的...

    MVC_Mysql.rar_java MVC_java MVC mysql_java 案例_mvc_mvc框架

    【标题】"MVC_Mysql.rar_java MVC_java MVC mysql_java 案例_mvc_mvc框架" 提供了一个关于Java MVC框架与MySQL数据库结合的实践案例。MVC(Model-View-Controller)是一种广泛用于Web应用程序开发的设计模式,旨在...

    Mvc.rar_JavaMvc_MVC 数据库_mvc_mvc模式实例

    在Java MVC中,控制器通常由Servlet或Spring MVC的@Controller注解的类实现。在这个例子中,控制器可能会处理HTTP请求,如GET和POST,然后调用相应的服务方法来执行数据库操作。 **数据库交互**: 在Java MVC中,与...

Global site tag (gtag.js) - Google Analytics