- 最后登录
- 2013-6-5
- 注册时间
- 2011-7-16
- 阅读权限
- 90
- 积分
- 6011
 
- 纳金币
- 5996
- 精华
- 1
|
5 实现Action
• Action是Struts2编程的核心部分,反映了对Web应用程序的功能需求。Action在MVC模式中担任控制部分的角色,在Struts2中也使用的最多。每个请求的动作都对应于一个相应的action,action还可以负责存储数据/状态(以getter和setter的方式)并且执行逻辑处理。
• 在本章中将关注如何实现action,以及action如何提供Web应用程序中所需的通用功能。除了Action接口之外,Struts2的action也可以选择实现其他可选择的接口,从而使action能够提供诸如国际化、校验、负责工作流和错误信息处理等功能。ActionSupport基类实现了Action接口并提供了大部分可选择口默认实现,将在本章深入讲述这个类。除此之外,也将探讨action是如何通过使用JavaBean属性提供输入和输出的,最后将介绍如何处理文件上传。
5.1 实现Aciton接口
• Struts2的Action接口来源于WebWork,全包名为com.opensymphony.xwork2.Action如代码5-10所示。在Struts2中定义action类时已经可以不实现Aciton接口,Struts2会以反射的方式来调用action类。
5.2 扩展ActionSupport类
• ActionSupport是一个让action类能够更快开始工作的基类。它包含了action能够提供的许多可选服务的默认实现,让开发者更容易地开始开发自己的action类,不需要在为这些可选服务提供具体实现了。同时能够改写可选择接口的任意一个方法实现并保持其他方法的默认实现。由于ActionSupport预建了许多开箱即用的功能,建议读者创建自己的action时都扩展ActionSupport类。ActionSupport实现了以下可选择接口,
5.3 实现基本校验
• 通常在执行业务逻辑之前,校验用户提供的数据是十分表要的。这种字段校验包括“某个字段是必须的”、“某个字段必须大于某个值,小于某个值“等内容。为了自动执行校验,Sturts 2提供了一种能够在excuete()方法被调用之前调用其他方法对action进行处理的机制,这个机制由com.opensymphony.xwork2.Validateable接口提供,它包含了一个方法:
• public void validate()
• Validateable接口为action增加了一个标记,通过以上方法使得action能够自动被校验。
• 保存和显示校验的错误信息有接口ValidationAware来负责,这两个接口一般会同时使用。
end |
|