struts2:对Struts2中控制器的一点改进建议

使用Struts2进行Web开发的时候,完成每个功能需要做的工作主要有:

第一:在Service中编写具体实现功能的方法,或者在某个已有的Service添加方法,或者编写一个新的Service再添加方法。

第二:编写Action,或者在某个已经存在的Action中添加方法。如果需要传值,定义成员变量并且定义set或者get方法。

第三:在struts.xml中配置这个Action。包括两个方面请求到Action方法的对应关系,Action执行结果与响应界面的对应关系,有时候会定义拦截器。

第四:编写界面,请求中使用定义的action。

例如编写登录功能:

在界面使用login

在配置文件中配置login-->类action.UserAction的login方法

在Action中编写login方法,编写userid和password属性,提供set方法

在Service中...

例如编写注册功能:

在界面中发送球:register

在配置文件中配置register-->类action.UserAction的register方法

在Action中编写register方法,编写注册相关属性,提供set方法

在Service中...

可能这是一种习惯,请求采用名字a,配置的时候会用method="a",action就会提供a方法。既然这是一种习惯,为什么不可以把这种习惯作为系统的一种控制器的选择方案呢。Java EE5中大量的使用默认置,这里也可以采用这种思想。

下面是我的建议:

如果用户喜欢,可以不用配置struts.xml,直接在请求界面使用action.UserAction.login。action指出包名,UserAction支持类名,login指出方法名,如果包名太长,可以在配置文件中给包名定义一个别名。

关于action方法的返回值,原来返回的是字符串,现在可以返回表示逻辑名字的字符串,还可以返回具体的页面文件或者action,如果需要拦截器可以通过Java5提供的注释。

仅仅是想法,如果有不妥,请指正。

Tags:  struts2ajax struts2教程 struts2标签 struts2

延伸阅读

最新评论

发表评论