java

位置:IT落伍者 >> java >> 浏览文章

Struts 2的开发规范与技巧[1]


发布日期:2021年05月10日
 
Struts 2的开发规范与技巧[1]

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 >

[] []

               

上一篇:Struts 2的开发规范与技巧[2]

下一篇:基于Eclipse的工具开发:透视图开发[1]