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


你可能感兴趣的:(java,技巧,OA)