1.从JSP页面里传数据到SpringMVC中的Controller处理

a.直接读取表单的数据。在控制器里的方法里,按照这种格式写。

@RequestMapping(value="/login.action")

public void login(HttpServletRequestreq,HttpServletResponse resp){

req.setCharacterEncoding("utf-8");//设置参数的编码格式

String userName =req.getParameter("txtUserName");

String userPwd =req.getParameter("txtUserPwd");

System.out.println("用户名:"+userName);

System.out.println("密码:"+userPwd);

}

需要解决post提交数据的时候,乱码的问题:在web.xml里做配置:

<!-- 解决post提交乱码的问题 -->

<filter>

<filter-name>CharacterEncodingFilter</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>

<filter-mapping>

<filter-name>CharacterEncodingFilter</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

解决Get提交数据的时候的乱码问题:

方法一:修改tomcat配置文件添加编码与工程编码一致,如下:

<ConnectorURIEncoding="utf-8" connectionTimeout="20000"port="8080" protocol="HTTP/1.1"redirectPort="8443"/>

方法二:    对参数进行重新编码:

String userNamenew

String(request.getParamter("userName").getBytes("ISO8859-1"),"utf-8")

SpringMVC的参数映射问题:(JSP页面或者说url路径的参数同控制器里的方法的参数的对应)

1)第一种映射方式:

表单里的表单元素的name名字和控制器里的方法的形参名一致。

比如界面中的数据:

<inputtype="text" value="" name="typeName"/>

在控制器里方法的定义:

@RequestMapping(value="/addtype.action")

public void addType(String typeName){

System.out.println("传递过来的数据:"+typeName);

}

2)采取普通的Java对象(POJO)传值的方式。

jsp页面里的表单元素的name名字为java对象的字段名。

比如:用户的注册页面:

<tr>

<td>用户名:</td>

<td><inputtype="text" name="userName"/></td>

</tr>

<tr>

<td>密码:</td>

<td><inputtype="password" name="userPwd"/></td>

</tr>

<tr>

<td>确认密码:</td>

<td><inputtype="password" name="txtUserRpPwd"/></td>

</tr>

<tr>

<td>电子邮箱:</td>

<td><inputtype="text" name="userEmail"/></td>

</tr>

<tr>

<td>注册原因:</td>

<td><inputtype="text" name="regReason"/></td>

</tr>

<tr>

<td>居住地:</td>

<td><inputtype="text" name="userAddress"/></td>

</tr>

在控制器里的方法的定义:

@RequestMapping(value="/reg.action")

public void reg(UserInfo u){

System.out.println("用户名:"+u.getUserName());

}

3)通过url参数传递。将url的参数和形参进行一个匹配:

自动映射URL对应的参数到Action上面的数值,RequestParam 默认为必填参数。

public String GetContent(@RequestParam(“key”) String key){

}

扩展:

@RequestParam(value="number",required=false) String number 
@RequestParam("id") Long id 
@RequestParam("balance") double balance 
@RequestParam double amount

注意,最后一个例子没有提供清晰的参数名。当且仅当代码带调试符号编译时,结果会提取名为“amount ”的参数,否则,将抛出IllegalStateException异常,因为当前的信息不足以从请求中提取参数。由于这个原因,在编码时最好显式的指定参数名

在controller中定义的方法的参数的类别:

默认支持的参数类型

Ø   HttpServletRequest

Ø   HttpservletResponse

Ø   HttpSession

Ø   Model/ModelMap

比如:@RequestMapping(value="/reg.action")

public void reg(UserInfo u){

System.out.println("用户名:"+u.getUserName());

SpringMVC(SSM)获取网页数据和传出数据的几种方式相关推荐

  1. webbrowser 检测ajax,控制台获取网页AJAX的返回数据,用的WebBroWser

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 至于HttpRequest大家都知道,他不能获取网页的Ajax异步数据,代码如下: using System; using System.Collecti ...

  2. ajax上传多文件和数据,Ajax上传数据和上传文件(三种方式)

    Ajax向后端发送数据可以有三种方式:原生Ajax方式,jQuery Ajax方式,iframe+form 方式(伪造Ajax方式) Title .btn { background-color: co ...

  3. mysql数据存储方式_数据存储在mysql的两种方式

    数据存储在mysql的两种方式 发布时间:2020-05-12 16:16:25 来源:亿速云 阅读:250 作者:三月 下文主要给大家带来数据存储在mysql的两种方式,希望这些内容能够带给大家实际 ...

  4. Docker的常用管理命令Docker将数据挂载到容器的三种方式

    文章目录 镜像管理命令 容器管理常用命令 docker run常用参数 Docker run的其他参数 docker 创建容器命令 容器资源限制 docker管理容器常用命令 docker将数据挂载到 ...

  5. 大数据正在改变客户服务的五种方式

    大数据正在改变客户服务的五种方式 任何组织的命脉,无论是否面向服务,都是需要为客户提供良好的服务.组织如何与其客户进行互动,会影响他们如何看待组织,这会影响潜在客户,除了组织最忠实的客户之外. 客户服 ...

  6. 将数据渲染到页面的几种方式

    将数据渲染到页面的几种方式: 1.字符串拼接: 2.dom回流 3.文档碎片(文档碎片节点:documentFragment) 4.模板         (下章会详细介绍模板) 转载于:https:/ ...

  7. 安卓androidstudio访问本地接口_安卓开发之数据存储在本地的四种方式

    ​ 安卓开发之数据存储在本地的四种方式 本地数据存储,在安卓开发过程中是不可避免的一个话题.这些本地的数据可能是用户的设置,程序的设置,用户的数据图片, 也可能是网络传输的一些缓冲数据. 基本上我们有 ...

  8. asp.net中读取数据库中的数据可以使用DataReader和DataSet 2种方式(初学者望大家不要笑我)...

    在asp.net中,读取数据库中的数据可以使用DataReader和DataSet 2种方式, 两者的差异如下:     使用Dataset对象读取数据大致需要以下5个步骤:     (1)建立数据库 ...

  9. 备份数据迁移到云端的七种方式

    人们可能对云备份的方式有一个普遍的认识,即很少有人希望保留昂贵和过时的遗留系统.下面,让我们来看看云端数据备份可以为组织做些什么. 1.确保合规性 如果组织在全球拥有自己的数据中心或云计算设施,就必须 ...

  10. python 保存csv,Python数据存储到文件的3种方式

    原标题:Python数据存储到文件的3种方式 爬虫请求解析后的数据,需要保存下来,才能进行下一步的处理,一般保存数据的方式有如下几种: 文件:txt.csv.excel.json等,保存数据量小. 关 ...

最新文章

  1. [Share]2008年国外最佳Web设计/开发技巧、脚本及资源总结
  2. MySQL时间增加、字符串拼接
  3. Javascript 限制文本字节数
  4. 例子---JS无缝轮播图
  5. Android P (2)---Android 9.0 “Pistachio Ice Cream”新功能和特性
  6. Redis性能基准测试
  7. [VB]多级目录创建函数,支持很深的目录创建。
  8. 基础佛学知识-间歇博客
  9. S32K MCAL03-如何使用EB工具配置FlexCAN的波特率
  10. 帧间差分法函数python_【目标追踪】python帧差法原理及其实现
  11. 滑铁卢大学 S. Keshav 教授:高效阅读科研论文的方法
  12. 计算机 桌面上的文件怎么发送,文本文件如何发送到QQ邮箱里?
  13. poi中excel锁定行列问题
  14. 一位美国教授给研究生的怎样记读书笔记的建议(中文总结)
  15. Excel函数——小数点计算
  16. 2010年全球移动行业回顾:iPad大热 中国崛起
  17. android 图片手动放大,Android图片的手动放大缩小
  18. BZOJ 1251 序列终结者 Splay
  19. Redis集群搭建失败 connected_slaves:0
  20. 近期必读的6篇 NeurIPS 2019 的零样本学习(Zero-Shot Learning)论文

热门文章

  1. MATLAB小波工具箱
  2. 测试驱动开发是否是一种强迫症?
  3. 移动端手势操作--两点同时点击的实现方案
  4. saltstack之远程触发文件备份、回滚
  5. 附加数据库失败 操作系统错误5:5拒绝访问 错误5120 解决方法
  6. Eval()特殊绑定
  7. [转]pthread用于进程间通信
  8. Opencv读取图片像素值
  9. 2. Oracle 数据库实例启动关闭过程
  10. React Native学习(七)—— FlatList实现横向滑动列表效果