java调用视图如何传参_Spring MVC中 视图 向 控制器 传参(接收方式)
1、方法一(通过HttpServletRequest方式接收)
1.1、添加servlet的jar包
javax.servlet
javax.servlet-api
3.1.0
provided
1.2、spring.xml以及web.xml配置如上一章所示
1.3、创建index.jsp和success.jsp
Hello World!
test
Created by IntelliJ IDEA.
User: Mr Wei
Date: 2020/*/*
Time: 15:19
To change this template use File | Settings | File Templates.
--%>
Title
测试成功!
1.4、添加Controller类
package com.fan.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import javax.servlet.http.HttpServletRequest;
@Controller
public class Controller1 {
@RequestMapping("/user")
public String test2(HttpServletRequest request){
String u = request.getParameter("username");
String p = request.getParameter("password");
System.out.println(u+" "+p);
return "success";
}
}
1.5、启动tomcat进行测试
2、方法二(页面传值时的key=处理请求的方法的参数名)
2.1、jar包的添加,spring.xml以及web.xml配置如上一章所示
2.2、创建index.jsp和success.jsp
Hello World!
test
Created by IntelliJ IDEA.
User: Mr Wei
Date: 2020/*/*
Time: 15:19
To change this template use File | Settings | File Templates.
--%>
Title
测试成功!
2.3、添加Controller类
package com.fan.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
@Controller
public class Controller1 {
@RequestMapping("/user")
//传入的值 即username要和前端传入的key值相同。页面传值时的key=处理请求的方法的参数名
public String test1(String username){
System.out.println("传入的用户信息是:"+username);
return "success";
}
}
2.4、启动tomcat进行测试(2种测试方式)
2.4.2、点击index.jsp页面的test链接,也可以实现相应的跳转。
2种测试方式控制台结果如下如所示
测试结果
3、方法三(封装成对象,使用控件名和对象的属性名一致的方式进行接收)
3.1、jar包的添加,spring.xml以及web.xml配置如上一章所示
3.2、创建index.jsp和success.jsp
Hello World!
1
2
3
4
5
Created by IntelliJ IDEA.
User: Mr Wei
Date: 2020/*/*
Time: 15:19
To change this template use File | Settings | File Templates.
--%>
Title
测试成功!
3.3、添加实体类
public class User {//使用控件名和对象的属性名一致的方式进行接收,即username和前端的表单中的name值一致
private String username;
private String password;
private String[] box; //list集合接收也可以
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String[] getBox() {
return box;
}
public void setBox(String[] box) {
this.box = box;
}
@Override
public String toString() {
return "User{" +
"username='" + username + '\'' +
", password='" + password + '\'' +
", box=" + Arrays.toString(box) +
'}';
}
}
3.4、添加Controller类
@Controller
public class TestController {
//(3)使用控件名和对象的属性名一致的方式进行接收
@RequestMapping("/user")
public String test(User user){
System.out.println(user);
return "success";
}
}
3.5、启动tomcat进行测试
测试结果
4、随笔测试
4.1、index.jsp和success.jsp
Hello World!
Created by IntelliJ IDEA.
User: Mr Wei
Date: 2020/*/*
Time: 15:19
To change this template use File | Settings | File Templates.
--%>
Title
测试成功!
4.2、Controller类
package com.fan.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.Date;
@Controller
public class Controller1 {
@RequestMapping("/user")
public String test3(String username, String password, Date day){
System.out.println(username+"--"+password+"--"+day);
return "success";
}
// @InitBinder
// public void initBinder(WebDataBinder binder, WebRequest request) {
// //转换日期 注意这里的转化要和传进来的字符串的格式一直 如2015-9-9 就应该为yyyy-MM-dd
// DateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd");
// binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));// CustomDateEditor为自定义日期编辑器
// }
}
4.3、启动tomcat进行测试
图片1.png
若输入的日期格式如:yyyy-MM-dd,则会报错。
图片2.png
若输入的日期格式如:yyyy/MM/dd,则会跳转成功,Spring MVC框架默认支持转换的日期格式是yyyy/MM/dd。
解决日期问题方式:
(1)使用string接受日期,接受后,再转换: SimpleDataFormate
(2)使用工具类处理日期(见有道云笔记SpringIOC1)
特别注意@RequestParam()
图片
注意:前端页面定义的是age,后端controller接收值是userage,@RequestParam()可以将这两个值对应起来,若age没有传值,则默认该userage为19.
java调用视图如何传参_Spring MVC中 视图 向 控制器 传参(接收方式)相关推荐
- Java项目中如何找control层,再问一个,业务层和MVC中Controler(控制器)的关系解决方法...
再问一个,业务层和MVC中Controler(控制器)的关系 本类是同一个问题的,但是在我另外的一个帖子中没有很好的表达出来,真是失败啊. 进入正题: 众所周知,Servlet 和 Struts中的A ...
- java web 文件上传工具类_JavaWeb中实现文件上传的方式有哪些?
上回我们说了下文件下载的方式有哪些,这次我们从不同的环境下简单来说说文件上传的方式有哪些. 文件上传的方式Servlet2.5 方式 Servlet3.0 方式 SpringMVC 方式 案例实操 S ...
- ASP.NET MVC中controller和view相互传值的方式
ASP.NET MVC中Controller向view传值的方式: ViewBag.ViewData.TempData 单个值的传递 Json 匿名类型 ExpandoObject Cookie Vi ...
- MVC中返回Json的几种声明方式
第一种,单行数据 var result = new { name = "linfei", age = "26", address = "wuhan&q ...
- java接口参数类型为枚举_Spring MVC处理参数中的枚举类型通用实现方法
前言 在开发的过程中,会涉及到大量的枚举类型数据,我们都知道,Springmvc本身能自动转换很多的数据类型,也支持你自定义转换类型,非常灵活. 本文主要介绍的是关于Spring MVC处理参数的枚举 ...
- java 时间格式化_彻底解决Spring mvc中时间的转换和序列化等问题
痛点 在使用Spring mvc 进行开发时我们经常遇到前端传来的某种格式的时间字符串无法用java8的新特性java.time包下的具体类型参数来直接接收. 我们使用含有java.time封装类型的 ...
- jsp中的url拼接的参数传递到controller乱码_Spring MVC中的拦截器
拦截器是 AOP 编程思想的典型应用 详述 Spring MVC 框架中拦截器 Interceptor 的使用方法blog.csdn.net 实现 1:创建一个controller类 package ...
- core 读取视图html,ASP.NET Core MVC 之视图(Views)
摘要: ewData之间可以混合使用. 2.动态视图 不声明类型,但具有传递给它们的模型实例的视图可以动态引用此实例.但不提供任何编译保护或IntelliSense.如果属性不存在,则页面将在运行 ...
- JAVA调用有道API接口对数据库中的中文语句进行翻译
今天遇到一个小需求,就是将数据库中的某个中文字段翻译成英文,总共有六百多条,直接只用数据库update语句和手动翻译效率很慢.我想这如果可以调用有道翻译API接口将翻译的语句结合原中文字段拼接成upd ...
最新文章
- ​《头号玩家》中的“绿洲”,用 VR 可以找到
- cocos游戏源码怎么用_亲子游戏怎么玩?游戏方式用对了,才会事半功倍
- docker入门及安装
- (Prototype)原型模式的Java实现(转)
- win oracle 重启命令,Windows下命令行如何启动Oracle10g?
- 用VC写Assembly代码
- openmp与openmpi区别
- CentOS通过yum安装高版本gcc
- java计算机毕业设计技术的游戏交易平台源码+数据库+系统+lw文档+mybatis+运行部署
- 标准型微电脑酸碱度氧化还原电位控制器(UPH -100C)
- matlab sinh是什么,sinh(sinh怎么读)
- 2020中国云计算公司排名 哪家的云服务器最好用?
- MeEdu开源网校系统-手动安装教程(完整版)
- lintcode-最近公共祖先
- 如何使用github(一)
- java long 详解_JavaSE之Long 详解 Long的方法简介以及用法
- 精准引流怎么推广:免费的引流推广营销技巧
- Codeforces Round #295 (Div. 2) ABC
- 防监听 俄启用新型信息安全系统
- 车企们的第一辆车是什么样的