常见的前台和后台之间的数据交换方式:页面通过GET或POST方式提交请求参数到Action,在Action中通过Request对象接收参数并且对请求参数进行数据封装,封装到一个JavaBean中,然后将JavaBean传递给业务层。
Struts2封装数据的方式有两大类,一是属性驱动,二是模型驱动

属性驱动

属性驱动可分为两类,一类是需要提供属性的set方法,另一类是同过表达式直接封装数据到对象中。

方法一:

需要直接在Action中定义属性,并且提供属性的set方法,如果一个Action类有太多属性,则这种方法会大大增加代码量,不合适

前端页面:

<form action="/bos/ActionDemo.action" method="post">姓名<input type="text" name="name"/>
</form>

Action类:

public class ActionDemo extends ActionSupport {private String name;public void setName(String name) {this.name = name;}
}

方法二:

需要Action中定义一个JavaBean对象并提供它的get方法,在页面中调用参数的值时要用类名来调用

前端页面:

<form action="/bos/ActionDemo.action" method="post">姓名<input type="text" name="user.name"/>
</form>

Action类:

public class ActionDemo extends ActionSupport {private User user;public User getUser() {return user;}
}

模型驱动(ModelDriven)

通过实现ModelDriven接口来接收请求参数,Action类必须实现ModelDriven接口,并且要重写getModel()方法,这个方法返回的就是Action所使用的数据模型对象JavaBean,采用模型驱动可以达到JavaBean所封装的属性与表单的属性一一对应的目的,JavaBean成为数据的载体

前端页面:

<form action="/bos/ActionDemo.action" method="post">姓名<input type="text" name="name"/>
</form>

Action类:

public class ActionDemo extends ActionSupport implements ModelDriven<User>{private User user = this.getModel();@Overridepublic User getModel() {return user;}
}

Struts2接收前端页面数据的方式相关推荐

  1. java controller json_springMVC的controller层接收前端json数据

    1.前端的操作: 对象接收json数据方式:将所需要传的数据转化为json数据,并将这些数据以post方式传到后台的controller层,然后controller层接收json数据,并且是以对象的形 ...

  2. 谷歌Chrome浏览器自动翻译导致前端页面数据错乱问题

    谷歌Chrome浏览器自动翻译导致前端页面数据错乱问题(避雷) 浏览器的自动翻译会影响页面数据展示 因为我呢用的谷歌浏览器,有时候需要查看英文文档,平时会开着自动翻译翻译,如图: 然后今天在写网页的时 ...

  3. 串口通信,接收并解析数据的方式

    串口通信,接收并解析数据的方式 (点击链接阅读原文)

  4. STM32使用串口IDLE中断的两种接收不定长数据的方式

    现在有很多数据处理都要用到不定长数据,而单片机串口的RXNE中断一次只能接收一个字节的数据,没有缓冲区,无法接收一帧多个数据,现提供两种利用串口IDLE空闲中断的方式接收一帧数据,方法如下: 方法1: ...

  5. 前端页面数据埋点、分析和参考

    最近从松江图书馆中借了一本叫<指尖上行 移动前端开发进阶之路>的书,该书分为5大章,此处只记录了其中的第4章. 书中写到在项目上线后,通过数据监控发现: 1. 一些之前觉得很好的创意,由于 ...

  6. 谷歌Chrome浏览器自动翻译导致前端页面数据错乱问题 - 接口返回数据被翻译

    背景:Chrome浏览器自带谷歌翻译,这个翻译还是挺实用的,但如果前端代码设置不当,再加上用户操作失误就容易造成很多莫名其妙问题,下面详述问题现象.排查过程及解决方案 文章目录 一.问题现象 二.排查 ...

  7. 页面布局的方式——前端

    页面布局的方式--前端 文章目录 页面布局的方式--前端 页面布局的方式 双飞翼布局 多栏布局 弹性布局(Flexbox) 瀑布流布局 流式布局(Fluid) 响应式布局 注 页面布局的方式 页面布局 ...

  8. SpringBoot接收前端传来的json数据

    当前端传来json数据时,后端有多种方式接收 前端json数据: {id:121, //数字name:"lhj", //字符串scoreList:[ //对象{Java:95}, ...

  9. 串口接收不定长数据的几种方式

    在阅读本文前,你需要先做到串口成功接收一个数据(相信这一点是很简单的)  这几天简单总结了一下用串口怎么接收一帧数据的办法,个人使用的有三种,下面逐一介绍: 第一种:使用中断的方式: 这种在数据接收不 ...

  10. Web项目中前端页面通过URL传中文或 # 特殊字符到后台出现乱码解决方案

    对于刚入行新手来说碰到URL传递中文数据到后台出现乱码或是传递包含特使符号'#'后端获取不到的情况是比较头疼的事,这里我就告诉你这两个的解决的方式: 1.URL传递中文 前端页面:中文字符串用 enc ...

最新文章

  1. 【Python3-OpenCV】实现实时摄像头人脸检测
  2. 分布式系统唯一ID生成方案汇总【转】
  3. js之事件冒泡和事件捕获
  4. 14 | 深入解析Pod对象(一):基本概念
  5. jvm 参数-server_JVM选项:-client vs -server
  6. 培训时常犯的学习误区与应对方法
  7. java指定sql生成xml,用Java实现可保存状态的数据库生成XML树(8)-JSP教程,Java与XML...
  8. css3 选择器_10-CSS3选择器详解
  9. 2019长江课堂作业答案_“绝户网”捕捞长江鳗鱼苗 检察机关:“全链条”担责...
  10. BFS广度优先算法, DFS深度优先算法,Python,队列实现,栈实现
  11. 小红的真真假假签到题题(构造+思维)
  12. 我的本科毕业论文——Messar即时通讯系统
  13. 揭示Win32 API拦截细节/API hooking revealed (2)
  14. 群体智能和进化计算-介绍
  15. 微信小程序云开发——常用功能2:操作云数据库一键批量导入数据(导入json文件)
  16. 订单除了快递、达达同城以外,可设置到店自取
  17. Java 调用 有道翻译API
  18. 监听滚动事件 实现动态锚点
  19. Keil(MDK-ARM)系列教程(八)_在线调试(Ⅰ)
  20. 拉格朗日乘数求极值方法

热门文章

  1. php 显示外链图片,php绘图之加载外部图片的方法
  2. JavaScript:对象转换为字符串、字符串转换为对象
  3. linux运维脚本编写,Linux运维基础技能: 脚本编程与Linux命令
  4. 随手记_重建的五花八门的点云地图效果(供娱乐)
  5. SLAM和三维重建中的SFM区别
  6. 不同环境中添加python默认的搜索路径
  7. (NeurIPS 2019) Gated CRF Loss -一种用于弱监督图像语义分割的新型损失函数
  8. VAE-《Auto-Encoding Variational Bayes》----Section2部分的有关理解
  9. 让你的模型acc更上一层楼:模型trick和数据方法总结
  10. CVPR2020 论文分类及全部下载!