自定义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>

效果图:

SpringMVC札集(05)——SpringMVC参数回显的更多相关文章

  1. SpringMVC札集(04)——SpringMVC传递参数

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

  2. SpringMVC札集(02)——SpringMVC入门完整详细示例(下)

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

  3. SpringMVC札集(01)——SpringMVC入门完整详细示例(上)

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

  4. SpringMVC学习(四)———— 数据回显与自定义异常处理器

    一.数据回显技术 Springmvc默认支持对pojo类型的数据回显,默认不支持简单类型的数据回显 1.1.什么是数据回显? 在信息校验时,如果发生校验错误,那么把校验的数据信息,依然停留在当前页面, ...

  5. SpringMVC札集(07)——JSON数据

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

  6. SpringMVC札集(10)——SSM框架整合

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

  7. SpringMVC札集(09)——拦截器

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

  8. SpringMVC札集(08)——文件上传

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

  9. SpringMVC札集(03)——基于注解的SpringMVC入门完整详细示例

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

随机推荐

  1. 20145302张薇《Java程序设计》第六周学习总结

    20145302 <Java程序设计>第六周学习总结 教材学习内容总结 第十章 串流设计的概念 无论来源和目的地实体形式是什么,只要取得InputStream和OutputStream实例 ...

  2. HelloWorld程序编写调试及错误解决

    HelloWorld程序编写调试及错误解决 eclipse软件编写 相较于windows内置记事本,eclipse编写程序更为简单快捷.由其生成的程序模板编写如下: package helloworl ...

  3. Linux入门之--Linux文件系统结构

    对于每一个Linux学习者来说,了解Linux文件系统的目录结构,是学好Linux的至关重要的一步.,深入了解linux文件目录结构的标准和每个目录的详细功能,对于我们用好linux系统只管重要,下面 ...

  4. jQuery loop over JSON字符串 – $.each实例

    先来一段简单的javascript对象的遍历: var json = [ {"id":"1","tagName":"apple&q ...

  5. java如何实现Socket的长连接和短连接

    讨论Socket必讨论长连接和短连接 一.长连接和短连接的概念 1.长连接与短连接的概念:前者是整个通讯过程,客户端和服务端只用一个Socket对象,长期保持Socket的连接:后者是每次请求,都新建 ...

  6. js中文逗号转英文逗号

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. 读取文件并找出年龄最大的N个人-兰亭集市笔试题

    C++ code: #include <iostream> #include <fstream> #include <map> #include <strin ...

  8. Enter键禁止表单提交

    Enter键禁止表单提交js代码: //禁用Enter键表单自动提交 document.onkeydown = function (event) { var target, code, tag; if ...

  9. 关于Java中常用加密/解密方法的实现

    安全问题已经成为一个越来越重要的问题,在Java中如何对重要数据进行加密解密是本文的主要内容. 一.常用的加密/解密算法 1.Base64 严格来说Base64并不是一种加密/解密算法,而是一种编码方 ...

  10. 深度学习中 Batch Normalization为什么效果好

    看mnist数据集上其他人的CNN模型时了解到了Batch Normalization 这种操作.效果还不错,至少对于训练速度提升了很多. batch normalization的做法是把数据转换为0 ...