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