传智播客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) //将返回加密后的字符串