最近一段时间没都有发文章,忙着跑房子的事情去了。买房子可真麻烦,钱少就是麻烦,以后要想办法多赚钱换个大点的房子。
上次研究完SimpleFormController后,发现MultiActionController或者CommandController都各有各的用途。
简单介绍一下:
控制类型
|
类
|
适用于
|
简单
|
Controller(接口)
AbstractController |
控制器非常简单,需要的功能和java applet差不多
|
一次性
|
ThrowawayController
|
你需要像命令那样的简单请求处理方式(类似Webwork的Action)
|
多动作
|
MultiActionController
|
应用系统中有多个动作处理相似或相关的逻辑
|
命令
|
BaseCommandController
AbstractCommandController |
控制器会从请求接受一个或多个参数,然后将他们绑定到一个对象中,而且提供参数验证的功能
|
表单
|
AbstractFormController
SimpleformController
|
需要给用户显示一个表单,并且处理输入表单的数据
|
向导
|
AbstractWizardFormController
|
你需要带领用户通过一个复杂的,多页面的输入表单,最后按一个表单处理
|
1,直接跳转到一个固定视图,而不需要作任何后台逻辑操作的时候。使用ParamaterizableViewController。
2,当执行简单的请求,有0个或少数的几个请求参数,并要在后台执行一些操作的时候。可以使用Controller或AbstractController。
3,当请求参数有多个的时候,可以使用AbstractCommandController。
4,当要使用一个controller去执行多个相似的动作时候,可以使用MultiActionController。可以减少controller的数量。
5,当要进行单一表单处理时,利用SimpleFormController。
6,要通过表单向导执行多个表单数据处理的时候,可以使用AbstractWizardFormController。
以上是一些高手的总结.....这些Controller使用的办法不一样,参数和效果也不一样,根据自己的要求来选定。
在性能方面和标准化方面有一些争议,不过这些都是风格的问题,我个人的看法。可以根据你自己的要求来修改或者继承任何一个Controller
来达到你的要求,非常灵活的代替方法 ^_^
看完以上这些方法以后,我接着介绍自己已经研究完成的项目:关于MultiActionController
最近都没写代码了,处理一堆乱七八糟的事情,看到了还要想一下关联,反应变迟钝了.....
LevelAction.java
以上代码中含有基本分页,我使用了Hibernate的Criteria
- ModelAndView add
- ModelAndView del
- ModelAndView list
- ModelAndView find
- ModelAndView modfiy
以上的方法的定义在dispatcherServlet.xml
以上我定义了两个映射,可以清晰的看到两种映射的方式完全不一样,多重映射使用会更加的方便。
关于页面的调用方式
所有的多重映射的方法都采用/stu/Levelaction.do?method=???来进行调用。
多重映射还有其他的方式来调用,请参考http://blog.csdn.net/kypfos/archive/2008/10/21/3117047.aspx
今天先写到这里了,如果需要我写出hibernate详细的分页的做法,请写信告诉我。未完待续…………