JavaWeb学习之路——SSM框架之SpringMVC(八)
SpringMVC参数传递:把内容写到方法(HandlerMethod)参数中,SpringMVC只要有这个内容,则会注入,在这里使用注解的方式来传递参数
前提使用springmvc注解功能,相应配置请看上节JavaWeb学习之路——SSM框架之SpringMVC(七)
1.在jsp文件中设置提交动作
<form action="demo" method="post"><input type="text" name="name"/><input type="text" name="age"/><input type="submit" value="提交"/></form>
2.解决字符编码问题。
在web.xml中来新增字符编码过滤器
<!-- 字符过滤器 --><filter><filter-name>encoding</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>utf-8</param-value></init-param></filter><!-- 拦截器 ,将所有根目录下网页过滤为utf-8类型字符编码--><filter-mapping><filter-name>encoding</filter-name><url-pattern>/*</url-pattern></filter-mapping>
3.在相应的spring控制器中执行相应动作名的适配器方法来响应
可以传递基本数据类型、对象、集合等,传递对象时要与类中参数名相对应。
(1)默认情况下参数名一样即可保证参数传递一致
package com.likui.controller;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpSession;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.filter.CharacterEncodingFilter;@Controllerpublic class DemoController {@RequestMapping("demo")public String demo(String name,int age,HttpServletRequest res,HttpSession session) {System.out.println("demo"+name+" "+age);res.setAttribute("test", "test");return "main.jsp";}}
(2)对于参数名不同的情况:
只需要在Maping对应的方法中填写注解RequestParam的value值即可。下面的name值为index.jsp中对应为name2属性值
@RequestMapping("demo")public String demo(@RequestParam(value="name2") String name,int age,HttpServletRequest res,HttpSession session) {System.out.println("demo"+name+" "+age);res.setAttribute("test", "test");return "main.jsp";}
(3)默认值采取注解
@RequestParam(defaultValue="18")
(4)必须要填写值
@RequestParam(required=true,defaultValue="18")
4.jsp文件设置提交跳转
index.jsp文件动作为demo
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPE html><html><head><meta charset="UTF-8"><title>Insert title here</title></head><body>hello springmvc!<form action="demo" method="post"><input type="text" name="name"/><input type="text" name="age"/><input type="submit" value="提交"/></form></body></html>
main.jsp文件
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPE html><html><head><meta charset="UTF-8"><title>Insert title here</title></head><body>hello main!${test }</body></html>
5.执行结果
在index.jsp中输入结果后点击提交,会交给控制器中demo适配器来解决,在这里面传递参数并返回到视图main.jsp
JavaWeb学习之路——SSM框架之SpringMVC(八)相关推荐
- JavaWeb学习之路——SSM框架之SpringMVC(七)
Spring MVC: 简介:SpringMVC是一种基于Java,实现了Web MVC设计模式,请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将Web层进行职责解耦.基于请求驱动指的 ...
- JavaWeb学习之路——SSM框架之SpringMVC(九)
SpringMVC跳转.视图解析器和@ResponseBody的用法 1.跳转方式 (1)默认方式字符串内容来转发 (2)设置返回值内容转发 添加redirect:资源路径· 重定向 添加forwa ...
- JavaWeb学习之路——SSM框架之Spring(五)
前情提要请看JavaWeb学习之路--SSM框架之Spring(四) 整合Spring和Mybatis框架 1.在项目的 ...
- JavaWeb学习之路——SSM框架之Mybatis(三)
数据库配置和相关类创建看上篇:JavaWeb学习之路--SSM框架之Mybatis(二) https://blog.csdn.net/kuishao1314aa/article/details/832 ...
- JavaWeb学习之路——SSM框架之Spring(四)
SSM框架学习-Spring01 1,.Spring介绍 Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的.框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同 ...
- JavaWeb学习之路——SSM框架之Mybatis(二)
1.简介: 框架: 是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架.前者是从应用方面而后者是从目的方面给出的定义.它是一个半 ...
- JavaWeb学习之路——SSM框架之Spring(六)
AOP:面向切面编程 1.介绍--AOP:面向切面编程.正常程序都是从上到下执行相关代码,aop是在纵向执行流程中添加横切面, 从左到右的关系.不需要修改成语原有代码,它将代码动态的切入到类的指定方法 ...
- SSM框架:SpringMVC
SSM框架:SpringMVC 文章目录 前言 一.回顾 1. 学习方法说明 2. 回顾MVC架构 1.什么是MVC 2.MVC的结构分析 3.Model1时代 4.Model2时代 3. 回顾Ser ...
- SSM框架(spring+springmvc+mybatis)+Mysql实现的社区物业管理系统(功能包含分角色,报修管理、抄表管理、车位管理、房屋管理、业主管理、投诉管理、报修统计分析等)
博客目录 SSM框架(spring+springmvc+mybatis)+Mysql实现的社区物业管理系统 实现功能截图 系统功能 使用技术 代码 完整源码 SSM框架(spring+springmv ...
最新文章
- 目标定位--Deep Self-Taught Learning for Weakly Supervised Object Localization
- 人工智能——面向对象表示法
- 嵩天python笔记_第一篇python笔记
- VC6命令行编译工程方法
- C++ Priority Queues(优先队列)
- atitit.java给属性赋值方法总结and BeanUtils 1.6.1 .copyProperty的bug
- 办公软件自学教程有哪些
- 海康linux 密码忘记,linux下调用海康sdk
- python pyhook监听扫码_Python2.7:使用Pyhook模块监听鼠标键盘事件-获取坐标实例
- 二进制计算机课教案,《二进制与计算机》教学设计
- python投票问题,程序列出在python中获得多数投票的候选人
- 浏览器使用flash时出现此Flash Player 与您所在地区不相容的提示解决方法
- webSocket实现聊天室功能
- 基于STM32的0.96寸OLED显示屏显示数据
- 带你初步了解基因表达调控
- 【WPS】未安装VBA支持库,无法运行文档中的宏。如需要启用宏功能,请点击这里了解详情。
- 浅谈Appium之AppUI自动化
- Scrapy爬虫爬取电影天堂
- IBM MQ常用的命令
- [笔记的明子] - C语言笔记
热门文章
- 点击按钮测试用例标题_功能测试有哪些用例?分享功能测试用例大全
- mysql手注_php+mysql手注拿shell教程【朋友给的】
- linux centos 回收站,centos rm 回收站
- mysql 获取倒数第二_如何从MySQL中的表中获取倒数第二条记录?
- addroutes刷新_vue解决addRoutes多次添加路由重复的操作方法
- java normalize_java – XPath normalize-space()返回一系列规范化字符串
- python在线翻译脚本_python写一个翻译的小脚本
- 北京内推 | 京东AI研究院计算机视觉实验室招聘三维视觉算法研究型实习生
- “人工智能创新大讲堂”全日程发布 | 听大咖畅谈智能社会
- CMU提出「十字绣网络」,自动决定多任务学习的最佳共享层