`
紫_色
  • 浏览: 142798 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Spring mvc系列五之 数据填充与返回

阅读更多

这篇文章的讲解都是基于注解的方式,关于spring mvc注解的介绍可以看我的上一篇文章:Spring mvc系列四之 注解介绍以及spring mvc的其它运用可以看我spring mvc系列的文章.

在讲spring mvc的时候讲解@RequestParam和@PathVariable用过spring mvc的数据填充.当我们从表单中传来数据时,可在相应的控制器的处理方法参数上写上相同名字参数以及相应的类型即可,当表单中的参数名称和方法参数名称不一样时可用@RequestParam或@PathVariable进行注解.

下面看一个例子:

首先创建一个表单提交页面data.jsp

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!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=UTF-8">
<title>添加用户</title>
</head>
<body>
	<form action="user/addUser" method="post">
		用户名:<input type="text" name="name" /><br/>
		年龄:<input type="text" name="age" />
		<input type="submit" value="提交" />
	</form>
</body>
</html>

 

 

 

创建相应的控制器,这里表单提交到了user/addUser.写它对应的方法.

 

package gd.hz.springmvc.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;

@Controller("userController")
@RequestMapping("user")
public class UserController {
	
	@RequestMapping(value="addUser" , method=RequestMethod.POST)
	public ModelAndView addUser(String name , String age)
	{
		System.out.println("name--->" + name + "年龄--->" + age) ;
		return new ModelAndView("dataSuccess");
	}
}

 我们把表单中的名为name和age与控制器中addUser方法中参数的name和age相对应.这样就spring就自动帮我们填充了数据.注意当参数名与表单中的名字不一样时可@RequestParam进行注解

 

当然也可以用对象的形式填充数据.

创建一个User类,生成相应的get set方法,属性名称与表单中的名称对应.

package gd.hz.springmvc.model;

public class User {
	private String name ;
	private int age ;
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
}

 在Controller中这样写:

package gd.hz.springmvc.controller;

import gd.hz.springmvc.model.User;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;

@Controller("userController")
@RequestMapping("user")
public class UserController {
	
	//使用对象封装数据
	@RequestMapping(value="addUser2" , method=RequestMethod.POST)
	public ModelAndView addUser2(User user)
	{
		System.out.println("name--->" + user.getName() + "年龄--->" + user.getAge()) ;
		return new ModelAndView("dataSuccess");
	}
}

 

将得到的数据返回到view当中:

最常用的是使用ModelAndView,它有很多重载的构造方法,可以返回字符串类型,也可以返回Map类型和Object类型,详细用法可以查看Spring 的API,下面举些例子.

@RequestMapping(value="addUser2" , method=RequestMethod.POST)
	public ModelAndView addUser2(User user)
	{
		System.out.println("name--->" + user.getName() + "年龄--->" + user.getAge()) ;
		return new ModelAndView("dataSuccess", "user" , user);
	}

 

@RequestMapping(value="addUser2" , method=RequestMethod.POST)
	public ModelAndView addUser2(User user)
	{
		System.out.println("name--->" + user.getName() + "年龄--->" + user.getAge()) ;
		ModelAndView model = new ModelAndView("dataSuccess");
		model.addObject("user", user);
		return model;
	}

 

@RequestMapping(value="addUser2" , method=RequestMethod.POST)
	public ModelAndView addUser2(User user)
	{
		ModelAndView model = new ModelAndView("dataSuccess");
		Map<String , User> users = new HashMap<String , User>();
		model.addObject(users);
		return model;
	}

 在视图界面我们可以用jstl获取数据.

 例如前面第一种方法的user(注意这里的user是我们返回时定义的名称),${user.name}

分享到:
评论

相关推荐

    基于java的企业级应用开发:数据绑定介绍.ppt

    这种将请求消息数据与后台方法参数建立连接的过程就是Spring MVC中的数据绑定。 13.1 数据绑定介绍 在数据绑定过程中,Spring MVC框架会通过数据绑定组件(DataBinder)将请求参数串的内容进行类型转换,然后将转换...

    swiftboot:基于Spring Boot,Spring MVC,Spring Data 的企业Web应用快速开发开发框架。A rapid development framework based on Spring Boot, Spring MVC and Spring Data for enterprise

    基于 Spring Boot,Spring MVC,Spring Data 的企业Web应用快速开发框架。 为什么要有 SwiftBoot 虽然用 SpringBoot 搭建框架进行开发已经简化了很多配置的工作,但是对于大多数中小型的项目来说来,还是有一些重复...

    Spring MVC处理表单的实例分析.docx

    Web 应用的功能通常不局限于给用户推送内容,大多数应用允许用户填充表单并将数据提交回应用中,通过这种方式与用户进行交互。使用表单分为展现表及和处理用户通过表单提交的数据。

    cassandratemplate:Spring Mvc + Spring Data + Mysql + Cassandra Web 模板

    还使用了 Spring 数据和 spring mvc。 Velocity 被选择并配置为模板引擎。 为了运行程序 cassandra.properties 和 mysql.properties 文件应该根据用户的偏好设置进行配置。 至少 mysql 和 cassandra 应该在本地机器...

    legacy-erp:用于Spring MVC和Hibernate实践的旧版ERP项目

    添加列表的排序选项改善应用程式检视样式添加与其他数据库一起本地运行的手册在Heroku上发布第一个版本完毕 : 添加用于创建员工的验证处理添加验证处理以更新员工添加数据填充服务添加部门和经理添加部门分配选项以...

    数据结构与算法(JAVA语言版)

    使用Spring,我们可以让WEB框架自动将传递进来的请求参数填充到模型对象中,同时提供验证和错误处理。还可以管理用户在WEB表单中创建的对象的状态。在了解SpringMVC之前,我们先来复习下MVC. MVC从逻辑上把应用分为...

    webflux-demo:https:mister11.github.iopostsspring_webflux的代码

    Spring WebFlux演示 Spring WebFlux简介随附项目... 要用博客文章中使用的数据填充数据库,请执行: # requires PostgreSQL database installed locally psql -h localhost -p 5432 -U postgres -d webflux-demo-data

    my-app:在视图中使用 Spring Boot 和 JS 的 restServer

    Rest服务器是用Spring Boot(服务器)、Spring REST(消费数据)实现的。服务器测试视图的JSON对象是否正确(所有字段都被填充)并插入一个Fake db。 服务器采用 Clean Architecture 实现,在包 ...

    PVZHeroes-Stats--Web应用程序:Spring Web应用程序,可重新创建同音异义词桌面应用程序的与查询相关的简单功能

    它由Spring MVC和Spring Data JPA创建,将Thymeleaf用于接口,将MySQL用于数据库。 该存储库包括两个文件夹: PVZHeroes数据库创建者。 它由创建用户,架构和表SQL脚本以及从SQLite数据库文件填充表的Maven项目组成...

    基于springboot的二手车交易系统的设计与实现.zip

    "基于springboot的二手车交易系统的设计与实现.zip"是一个软件项目文件包,通常包含了实现一个基于Spring Boot框架的二手车交易平台所需的所有源代码、资源文件、配置文件以及可能的数据库脚本。在压缩包中,你可以...

    基于框架的Web开发-请求和方法参数的绑定.doc

    表单提交时,Spring mvc会按照请求表单项的名字自动为方法的参数对象填充属性值,并且支持级联的属性名。之前的createUser方法就是利用这个特性。 1 User类有三个属性及其get和set方法2 三个表单项的名字和User类的...

    twoDog:Spring Boot应用程序用于存储酿造和批次的历史记录

    使用Mybatis映射器和Postgres数据库的MVC体系结构。 通过将html-templates与百里香一起使用,视图是静态的。 使用网络抓取脚本填充啤酒表,该脚本从bryggselv.no抓取所有谷物酿造的包装。 依存关系: 点安装bs4 点...

    SiliconTestTask

    Spring MVC Java测试用例 Silicon Europ的测试任务-一个Web应用程序的实现,该应用程序提供了仓库管理系统的有限功能。 入门 要开始一个项目: 填充数据库 数据库:PostgreSQL 执行脚本 sql-database-create-...

    springboot-mvc-data-jpa-example:这是一个供个人使用的小型应用程序

    springboot-mvc-data-jpa-example 运行该项目需要MySQL,Java 8和Maven 3+ 首先,您需要执行脚本: : git clone :jamerlan / springboot-mvc-data-jpa-example.git cd springboot-mvc-data-jpa-example / ...

    角弹簧

    结构后端使用Spring MVC设计,后端包括: “用户” POJO Vanilla存储库接口,仅扩展了CrudRepository 控制器具有两项功能:GetMapping用于获取所有当前用户,PostMapping用于添加新用户CommandLineRunner用一些初始...

    ZooWebApp:简单的CRUD Web应用程序

    该项目介绍了Zoo Managment System的Spring MVC Web应用程序,该示例使用MySQL数据库中的数据演示了所有基本的CRUD操作。 技术领域 此项目中使用了以下技术: SpringMVC 冬眠 JPA批注 Spring安全 JSTL 玛文 引导...

    asp.net知识库

    与DotNet数据对象结合的自定义数据对象设计 (二) 数据集合与DataTable 与DotNet数据对象结合的自定义数据对象设计 (一) 数据对象与DataRow ASP.NET中大结果集的分页[翻译] .net 2.0 访问Oracle --与Sql Server的...

    SpringJavaScriptShowCase:SpringBootJavaScriptAJAXCookie

    SpringBootJavaScriptShowCase SpringBoot JavaScript展示柜Spring MVC和Pure JavaScript的展示柜使用纯/原始JavaScript: 从下拉列表中获取选定的“值”和“索引值” 从API URL填充DropDown 纯JS CRUD 具有内联编辑...

    JAVA上百实例源码以及开源项目源代码

     Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...

    SAP JCO3.0 使用实例

    我刚做完的SAP JCO的小项目. ...在SAP中做好RFC函数,设置TABLE参数,使用查询语句填充数据到表中 2。 更改 \src\datasource\IDatasourceImpl.java 中的链接信息 3。 Daoimpl中的查询方法,字段名都要更改

Global site tag (gtag.js) - Google Analytics