【SpringMVC-003】idea创建SpringMVC项目傻瓜教程-URL传值
来源:互联网 发布:淘宝头像设计制作 编辑:程序博客网 时间:2024/06/15 22:09
本篇文章内容非常简单,主要说下传值问题。
之前两个blog都是最最基本的操作过程,本篇以及以后的所有博客都是基于前面的项目框架进行修改的,有不是很清楚的的,可以参考之前的内容。
【SpringMVC-001】idea创建SpringMVC项目傻瓜教程
【SpringMVC-002】idea创建SpringMVC项目傻瓜教程-升级版(注解版)
下面的图片是【002】blog中TestController的内容,现在的函数test默认是不含参数的,如果想要获取参数,应该怎么写呢?
【1】很简单,只需要稍加修改。
public class TestController { //RequestMapping表示使用哪个URL来对应 @RequestMapping({"/test","/"}) public String test(String username){ System.out.println("I Love China!"); System.out.println(username); return "test";//test对应WEB-INF/jsp }}
【2】这样就可以传递参数了,在浏览器输入:http://localhost:8080/test?username=Tom,在浏览器中输出的内容依然是test.jsp的内容,但是在idea的output窗口会打印出我们传递的username的值为Tom。
【3】这样一个简单的传值就结束了,但是如果我们在浏览器中输入http://localhost:8080/test,程序依然能执行,只不过在output中显示为null,其实在实际开发中,要时候是必须要传值的,这个时候 ,我们可以借助@RequestParam("username")来完成,这个函数的意思就是强制传值,如果在URL中没有传递值,那么会报错error:400.
public class TestController { //RequestMapping表示使用哪个URL来对应 @RequestMapping({"/test","/"}) public String test(@RequestParam("username") String username){ System.out.println("I Love China!"); System.out.println(username); return "test";//test对应WEB-INF/jsp }【4】好了,如果现在想要把参数传递到视图呢?也非常的简单。还是稍加修改test函数就可以了(这里暂时去掉强制传值@RequestParam),先使用Map<String,Object>集合,稍后再修改成Model。
public class TestController { //RequestMapping表示使用哪个URL来对应 @RequestMapping({"/test", "/"}) public String test(String username, Map<String, Object> context) { System.out.println("I Love China!"); context.put("username", username); System.out.println(username); return "test";//test对应WEB-INF/jsp }}【5】之后再修改test.jsp文件
<h1>我爱中国!!,传递的参数为:${username}</h1>【6】浏览器输入:http://localhost:8080/test?username=data,便可以看到效果了。
【附加】另外还有一种传值的方式比map常用,就是使用model。线面贴出代码,自己运行下看看。
【1】修改TestController的代码:
//RequestMapping表示使用哪个URL来对应@RequestMapping({"/test", "/"})public String test(String username, Model model) { System.out.println("I Love China!"); //往前台视图传参数 model.addAttribute("username",username); //context.put("username", username); System.out.println(username); return "test";//test对应WEB-INF/jsp}
【2】其他文件不需要修改,在浏览器运行:http://localhost:8080/test?username=北京。显示如下:
这样传值的问题就基本解决了,那么问题来了,如果传递值有10个、20个或者更多呢?
这种方法肯定就不行了,怎么解决呢?随着后续深入,我们会解决这个问题。
----------------------------------------------------【我是分界线】-------------------------------------------------------
【注意】
除了之前两个博客介绍的中外,下面,介绍另外一种比较常用的方法。
还是在原有基础上修改。在src/com/test/controller下,重新创建一个class文件,名子为:HelloController。
同样在WEB-INF/jsp下创建jsp文件,名字叫hello.jsp。
【1】HelloController.java代码为:
package com.test.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.servlet.ModelAndView;/** * Created by: zs * Date-Time: 2017/8/10 9:34 */@Controllerpublic class HelloController { @RequestMapping(value = "/hello") public ModelAndView hello(){ //创建准备返回的ModelAndView对象,该对象通常包含了视图名、模型名称以及模型对象 ModelAndView mv = new ModelAndView(); //添加模型数据,可以是任意的POJO对象 mv.addObject("msg","你好战狼2!"); //设置逻辑视图名,视图解析器会根据该名字解析到具体的视图页面 mv.setViewName("hello"); ///返回ModelAndView return mv; }}【2】hello.jsp代码如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head> <title>Title</title></head><body>${requestScope.msg}</body></html>【3】浏览器输入:http://localhost:8080/hello
随着后面学习的深入,我们会不断的完善项目代码。
休在浮沙筑高台!!!学习是不断深入,慢慢消化的过程,不要小瞧了基础的东西!
- 【SpringMVC-003】idea创建SpringMVC项目傻瓜教程-URL传值
- 【SpringMVC-001】idea创建SpringMVC项目傻瓜教程
- 【SpringMVC-004】idea创建SpringMVC项目傻瓜教程-REST简介
- 【SpringMVC-002】idea创建SpringMVC项目傻瓜教程-升级版(注解版)
- 【SpringMVC-005】idea创建SpringMVC项目傻瓜教程-简单注册登录
- springmvc学习笔记---idea创建springmvc项目
- IDEA中创建SpringMVC项目
- idea创建maven springMVC项目
- SpringMVC傻瓜式教程搭建
- 使用IntelliJ IDEA创建SpringMVC项目
- IntelliJ IDEA创建SpringMVC+Maven项目
- idea创建maven+springmvc+mybatis+jetty项目
- 如何用IDEA创建SpringMVC项目
- 使用IDEA创建maven Mybatis-SpringMvc项目
- IDEA下创建一个Maven + SpringMVC项目
- IDEA下用Maven创建SpringMVC项目
- IntelliJ IDEA 创建maven springmvc 简单项目
- idea创建springboot2+maven+springmvc项目
- FTPS 与SFTP大对决
- HDU 1160 FatMouse's Speed (dp+路径记录)
- 1.2 快速掌握 Android 中的六大布局
- 精通css 第六章 (2)图片热点定位
- 相等测试与继承-equals
- 【SpringMVC-003】idea创建SpringMVC项目傻瓜教程-URL传值
- PPEasy(P2P+流媒体)传输系统简介
- iOS 11 新API的多种代码示例
- HDU_6069 Counting Divisors 【数论】
- ListView详解
- FTP and SFTP 用法
- 取消ORACLE11g用户密码过期期限
- ubuntu14.04+cuda8.0(TX2宿主机)安装opencv3.0
- 布隆过滤器