转自 http://blog.sina.com.cn/s/blog_9c10071301015qnl.html
Struts1 技能使用要点及要求
一、
Struts框架在启动时会读取Struts配置文件,并根据其内容来创建各种组件对象。
下面就介绍一下Struts配置文件的几个组成部分。
1、< struts-config>元素
2、<form-beans>
3、<action-mappings>元素
综上几个配置,一个简单的Struts配置基本完成。其他Struts配置元素可以阅读一些资料自行学习一下。例如,在<form-bean>中的<form-property>子元素、<global-forwards>全局转发或重定向元素等等。
关于Struts 配置的技能要求,首先要了解配置文件的结构和每个元素基本属性的含义,能够成功配置一个包含ActionForm,Action类,Forward,validate的基本流程,在开发过程中无因配置错误导致系统无法运行的问题。配置属性要正确使用,不做无效配置,属性的自定义值命名规范。
二、
ActionForm是Struts框架的核心组件之一,是Struts的关键视图组件。在我们声明一个ActionFrom Bean的时候,该类必须继承org.apache.struts.action.ActionForm类,自定义的ActionForm中可以灵活的添加想从页面表单中获取的用户信息为类属性,在用户发出提交表单请求后,处理该请求的Action类,将通过参数中的ActionForm拿到一个完整的表单信息。但是这个ActionFrom必须在Struts的配置文件中定义过,并且该Action对应的配置行中name属性指向的正是此ActionFrom的逻辑名。
例如:
Struts 的配置:
一、
继承org.apache.struts.action.Action的子类,需在execute方法写入处理请求的代码,一般一个Action只能通过一个方法响应。这样就需要通过request.getParameter()方法来获取传入的值,来分辨用户请求,跳转到不同的页面。
而DispatchAction是对org.apache.struts.action.Action进行了功能扩充,DispatchAction本身也是继承自Action,DispatchAction进是把判断放到了Struts的配置文件中,如我们自己的类继承了DispatchAction,我们就可以在类中自定义若干方法,至于页面具体要指向那个方法来执行本次响应的判断我们可以通过在URL中添加一个parameter个属性值进行区分。
那么URL就应该是:/tutorv2/class.do?operation=classList
转发的地址,需要在该Action的配置中定义一个<forward>元素:
下面我们看一段完整的Action业务:
用户请求一个数据列表:
综以上所述,基本可以完成一个简单的Struts业务流程。这部分的技能要求是:能够在开发过程中熟练的配置和创建一个Action逻辑,根据用户的不同请求,正确使用Action返回响应结果,无基础问题异常,不做多余请求,不做多余转发或重定向,不做无用参数传递、尽量使逻辑清晰,代码简洁,参数和变量、方法命名规范。
除此之外,还需了解Struts标签库和Validator验证框架。这里列举几个Struts标签的使用。Struts 的Validator验证框架,也是需要大家熟练掌握的,但是由于目前平台开发过程中大部分验证都是通过js脚本或Jquery框架来实现,这里就不做详细描述。
四、Struts标签库
Struts标签库主要分为HTML标签库、Bean标签库、和Logic标签库。
Struts 中的HTML标签库 大部分标签与普通的HTMl元素相对应。
下面介绍几个主要的HTML标签库元素。
Struts 中的Bean标签库
以上简单列举了几个Struts 标签库的使用和说明,在开发过程中,要求能够熟练应用Struts标签库的Logic标签库元素,在Jsp页中能够灵活的使用标签进行判断或循环、输出,要注意Logic标签库输出页面元素时的非空判断。