Struts的前景还是稳健的使用的人数在不断的增加参加struts 依然坚挺 Seam前景不明
但基于Struts的开发如果没有足够的经验和规范做支撑并不能带来还多的好处如果失控一样和JSP+servlet泛滥这一点需要警示
)Action类及Action Name的命名规范
Action类的后缀统一加上ActionAction的Name与类的名称保持一致但不要Action的后缀
这样是为了通过Action的调用url 很方便的找到Action类
< action name =
searchKnowledge
class =comdemosearchactionSearchKnowledgeAction >
< result name =search > /demo/searchjsp </ result >
</ action >
如上看到/searchKnowledgeaction就可以很清楚的知道类是SearchKnowledgeAction了很多人不注重这一点开发调试中每次都要笨拙的看strutsxml文件
)每个项目都必须至少有一个公用的Action类GenericAction完成的功能如下
获取注入request
获取注入Session
错误页面跳转
获取在线用户和会员的信息(个人信息权限角色等)
注入类型转换的格式转换类如日期类型转换ConvertUtilsregister(new DateConverter() Dateclass)
获取系统配置信息如公用变量(如配置路径等)
对于request参数的处理等其他可扩展的操作
)擅长使用Dispatch的模式
有人说Action不就是Dispatch的延伸吗其实还可以做的更好
这个典型的模式如下
页面表单的Hidden参数中就是一个ID如queryID=queryKnowledges Action=/paginateaction
PaginateAction的模板如下
private String queryID;
public String execute() {
//获得Service的接口
//根据queryID调用Ibatis分页查询方法
return queryID; //这一点就是动态跳转在Action不明确注明success之类的跳转名称
}
在strutsxml中进行配置与queryID想对应
< action name =
paginate
class =comgehcutilpaginationPaginateAction >
< result name =queryKnowledges >
/demo/knowledgeListjsp
</ result >
<! 查询所有的问题 >
< result name =queryIssue >
/pm/issue/allIssuejsp
</ result >
<! 你可以不断的扩展跳转的jsp但是Action不会增加Action类的代码也不会增加 >
</ action >
[] []