传智播客OA项目学习--阶段三(Struts中Action书写)
时间:2022-07-22
本文章向大家介绍传智播客OA项目学习--阶段三(Struts中Action书写),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
一、Struts2中一般会涉及基本的增删改查功能
这样的话,一般就会有6种请求(addUI(), add(), delete(), editUI(), edit(), list())
Action返回类型会有4种(list(), toList(), addUI(), editUI()) (注:toList()为增加删除之后重定向请求list() Action ,更新数据的)
对应页面,2个就可以。list.jsp 和 saveUI.jsp (注:利用各种实体的id是否为null,来区别add | delete 并请求不同的action)
<s:form action="model_%{id == null ? 'add' : 'edit'}"
二、技巧
1、action中 添加add功能
①新建对象并设置相应属性(若使用ModelDriven等,传递过来的为Model,也可以使用Model,但需要设置未封装的属性)
②使用Service提供的保存功能,保存到数据库
2、action中 修改功能
①从数据库中取出原对象
②设置要修改的属性
③更新到数据库中
3、关于页面
①列表页面
<s:iterator value = "" >...
<s:a action = "" onclick="return confirm('')">...
②表单
<s:form action = "" >...
<s:textfield ...
<s:testarea ...
三、关于程序的健壮性
应该尽量对所有的输入参数进行判断。
if(temp == null || temp.length == 0){
return null; //!!!当返回结果是一个集合时,应避免返回null值。null值会造成nullPointerException,应当返回空集合
}else{
......
}
//其中集合的空集合,可以使用 Collections.EMPT_LIST
//还有 EMPTY_SET,EMPTY_MAP可以使用.
四、关于加密
// 可以使用 commons-codec.jar 包
DigestUtils.md5Hex(String str) //将返回加密后的字符串
- 如果未来的AI拥有意识,你舍得不理它吗?
- centos下安装python3
- jboss:在standalone.xml中设置系统属性(system-properties)
- iptables
- Django-form表单
- 比较git commit 两个版本之间次数
- eclipse: workspace出错导致无法启用的解决
- 【node错误】/usr/bin/env: node: No such file or directory
- Django比较相等或者不相等的模板语法ifequal / ifnotequal
- 使用testNGListenter来自定义日志
- 通过代码去执行testNG用例
- $.cookie is not a function;原因及解决办法
- 为何学习以及如何理解SSH框架?内含Hibernate学习指南
- 生成唯一标识 字符串跟时间戳的结合
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- Ubuntu16.04 实时内核 RT Preempt 安装
- c语言实现整数转换为字符串——不考虑负数
- JsonPath工具类单元测试
- Selenium4 IDE特性:无代码趋势和SIDE Runner
- 浮点数转成字符串函数gcvt()
- moco固定QPS接口升级补偿机制
- 大小端示例-arm c51
- #define的一个小技巧
- 干货 | 手把手教你用115行代码做个数独解析器!
- Ubuntu18.04 ROS安装小记
- 面试题系列第7篇:Java方法到底是值传递还是引用传递?
- input输入框内容规范正则总结
- 【干货满满】1.5w字初中级前端面试复习总结
- 娱乐圈排行榜动态条形图绘制
- vue3.0的 v-model 为啥不好用了?