一、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) //将返回加密后的字符串