SpringMVC札集(05)——SpringMVC参数回显

简介: 自定义View系列教程00–推翻自己和过往,重学自定义View 自定义View系列教程01–常用工具介绍 自定义View系列教程02–onMeasure源码详尽分析 自定义View系列教程0...

自定义View系列教程00–推翻自己和过往,重学自定义View
自定义View系列教程01–常用工具介绍
自定义View系列教程02–onMeasure源码详尽分析
自定义View系列教程03–onLayout源码详尽分析
自定义View系列教程04–Draw源码分析及其实践
自定义View系列教程05–示例分析
自定义View系列教程06–详解View的Touch事件处理
自定义View系列教程07–详解ViewGroup分发Touch事件
自定义View系列教程08–滑动冲突的产生及其处理


探索Android软键盘的疑难杂症
深入探讨Android异步精髓Handler
详解Android主流框架不可或缺的基石
站在源码的肩膀上全解Scroller工作机制


Android多分辨率适配框架(1)— 核心基础
Android多分辨率适配框架(2)— 原理剖析
Android多分辨率适配框架(3)— 使用指南


在上一篇博客中,我们从index.jsp传递参数到Controller中;Controller收到参数后再跳转到test.jsp。即执行流程为:index.jsp —> Controller —> test.jsp。现在我们可以把这些来自index.jsp的参数显示到test.jsp中么?答案是肯定的。这就是本篇博客要讲的参数回显。


简单数据类型的回显

对于简单数据类型,如:Integer、String、Float等使用Model将传入的参数再放到request域实现显示。对于该功能的实现非常简单,我们只需要在Controller的方法中添加Model类型的参数即可,例如:

    //1、测试SpringMVC传递int类型参数及其回显
        @RequestMapping(value="/testInt")
        public String testInt(Integer id,Model model){
            System.out.println("---> id="+id);
            model.addAttribute("id", id);
            return "test";
        }

然后我们在其他页面(例如此处的test.jsp)页面中取出该值即可:

1、测试SpringMVC传递int类型参数,回显结果:${id}

Object数据类型的回显

SpringMVC默认支持Object数据回显,SpringMVC自动将形参中的Object重新放回request域中,request的key为Object的类名(请注意,类名首字母小写)。例如,我们在Controller中这么写:

//3、测试SpringMVC传递Object类型参数及其回显
    @RequestMapping(value="/testUser")
    public String testUser(User user){
        System.out.println("---> user="+user);
        return "test";
    }

然后在test.jsp中取出参数:

3、测试SpringMVC传递Object类型参数,回显结果:${user.id} ${user.username} ${user.sex} ${user.address}

传递数据至下一个页面
我们常常有这样的需求:将数据传递至下一个页面。其实,这个也非常简单可以采用与Model类似的ModelMap即可。例如,我们在Controller中这么写:

//4、测试SpringMVC传递Object至下一个页面
    @RequestMapping(value="/testObject")
    public String testObject(ModelMap modelMap){
        User u=new User();
        u.setId(9527);
        u.setAddress("北京");
        u.setSex("男");
        u.setUsername("周星星");
        modelMap.put("u", u);
        System.out.println("---> user="+u);
        return "test";
    }

然后在test.jsp中取出参数:

4、测试SpringMVC传递Object至下一个页面,回显结果:${u.id} ${u.username} ${u.sex} ${u.address}<br>

按照惯例,贴出该项目中的关键代码;其余部分请参见上一篇博客,不再赘述


index.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>SpringMVC传递参数</title>
</head>
<body>

    <hr size="2" color="red" />
    <b>1、测试SpringMVC传递int类型参数及其回显</b><br><br>
    <form action="${pageContext.request.contextPath }/user/testInt.do" method="post">
        ID:<input type="text" name="id" id="testIntId"> <br><br>
           <input type="submit" value="提交">
    </form>

    <hr size="2" color="red" />
    <b>2、测试SpringMVC传递String类型参数及其回显</b><br><br>
    <form action="${pageContext.request.contextPath }/user/testString.do" method="post">
        姓名:<input type="text" name="name" id="testNameId"> <br><br>
             <input type="submit" value="提交">
    </form>


    <hr size="2" color="red" />
    <b>3、测试SpringMVC传递Object类型参数及其回显</b><br><br>
    <form action="${pageContext.request.contextPath }/user/testUser.do" method="post">
        ID: <input type="text" name="id" id="testId">        
               姓名:<input type="text" name="username" id="testUsername"> 
               性别:<input type="text" name="sex" id="testSex"> 
               地址:<input type="text" name="address" id="testAddress"> <br><br>
            <input type="submit" value="提交">
    </form>

    <hr size="2" color="red" />
    <b>4、测试SpringMVC传递Object至下一个页面</b><br><br>
    <form action="${pageContext.request.contextPath }/user/testObject.do" method="post">
      <br>
      <input type="submit" value="提交" >
    </form>

</body>
</html>

Controller

/** 
* @author 原创作者:谷哥的小弟
* @blog   博客地址:http://blog.csdn.net/lfdfhl
* @time   创建时间:2017年7月29日 上午9:58:56 
* @info   描述信息:SpringMVC回显数据
*/
package cn.com.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;

import cn.com.domain.User;

@Controller
@RequestMapping("/user")
public class AnnotationController {

    //1、测试SpringMVC传递int类型参数及其回显
    @RequestMapping(value="/testInt")
    public String testInt(Integer id,Model model){
        System.out.println("---> id="+id);
        model.addAttribute("id", id);
        return "test";
    }

    //2、测试SpringMVC传递String类型参数及其回显
    @RequestMapping(value="/testString")
    public String testString(String name,Model model){
        System.out.println("---> name="+name);
        model.addAttribute("name", name);
        return "test";
    }

    //3、测试SpringMVC传递Object类型参数及其回显
    @RequestMapping(value="/testUser")
    public String testUser(User user){
        System.out.println("---> user="+user);
        return "test";
    }

    //4、测试SpringMVC传递Object至下一个页面
    @RequestMapping(value="/testObject")
    public String testObject(ModelMap modelMap){
        User u=new User();
        u.setId(9527);
        u.setAddress("北京");
        u.setSex("男");
        u.setUsername("周星星");
        modelMap.put("u", u);
        System.out.println("---> user="+u);
        return "test";
    }

}

test.jsp

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="UTF-8"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>SpringMVC回显数据</title>
<style type="text/css">
p {
    font-size: 40px;
    font-family: 宋体;
    color: red;
    background-color: pink;
}
</style>
</head>
<body>
    <p>测试SpringMVC回显数据</p>
    <br>
    1、测试SpringMVC传递int类型参数,回显结果:${id}<br>
    2、测试SpringMVC传递String类型参数,回显结果:${name}<br>
    3、测试SpringMVC传递Object类型参数,回显结果:${user.id} ${user.username} ${user.sex} ${user.address}<br>
    4、测试SpringMVC传递Object至下一个页面,回显结果:${u.id} ${u.username} ${u.sex} ${u.address}<br>
</body>
</html>

效果图:

这里写图片描述

相关文章
|
3月前
|
XML Java 应用服务中间件
springMVC01,springMVC的执行流程【第一个springMVC例子(XML配置版本):HelloWorld】
通过一个HelloWorld实例,介绍了SpringMVC的基本概念、执行流程,并详细讲解了如何创建和配置第一个SpringMVC项目(基于XML)。
springMVC01,springMVC的执行流程【第一个springMVC例子(XML配置版本):HelloWorld】
|
3月前
|
XML 前端开发 Java
springMVC01,【第一个springMVC例子(注解版):HelloWorld】
文章介绍了如何使用注解配置创建第一个SpringMVC项目,并讲解了SpringMVC的执行流程,包括配置web.xml、编写springmvc-servlet.xml配置文件、创建带有@RequestMapping注解的控制器层以及运行测试和执行流程小结。
|
6月前
|
XML 数据格式
XML配置Servlet文件,不使用注解配置路径的方法
XML配置Servlet文件,不使用注解配置路径的方法
|
7月前
|
Java
SpringMVC JSP不回显问题
SpringMVC JSP不回显问题
36 2
|
XML 前端开发 Java
springMvc9-路径参数
springMvc9-路径参数
79 0
springMvc9-路径参数
|
XML 前端开发 Java
第一个SpringMVC
第一个SpringMVC
|
前端开发 Java Spring
基于SpringMVC中的路径参数和URL参数实例
基于SpringMVC中的路径参数和URL参数实例
基于SpringMVC中的路径参数和URL参数实例
|
数据格式
springMvc52-回顾和springmvc返回值类型总结
springMvc52-回顾和springmvc返回值类型总结
94 0
SpringMVC - 过滤器之中文乱码
SpringMVC - 过滤器之中文乱码
93 0
SSM-SpringMVC-19:SpringMVC中请求和响应的乱码解决
   ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥-------------   配置一道拦截器即可解决乱码 配置方式如下:   在web.xml中:   CharacterEncoding org.
868 0