使用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提供的注释。
仅仅是想法,如果有不妥,请指正。
李绪成 CSDN Blog:http://blog.csdn.net/javaeeteacher CSDN学生大本营:http://student.csdn.net/invite.php?u=124362&c=7be8ba2b6f3b6cc5如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛