title:struts+自义定柜架之DispatchAction与显示友好的报错信息
index:
DispathAction 介绍与说明
显示友好的报错信息
动态Form简化开发
body:
DispathAction介绍与说明
前沿:大家知道一个Action 是指定一个动作。当项目业务逻辑复杂时也许就要指定多个Action,Action个数也多起来,这样项目易读性较差易发生混乱,
并且Action 的excute方法过长不易维护
1) 使用DispatchAction:使用DispatchAction将相关的操作组织在一起,简化开发。
2) 显示友好的报错信息:讲解Struts错误处理机制以及在资源文件中定义报错信息。
3) 使用动态Form简化开发:讲解Struts提供了动态Form(DynaActionForm),不需要再创建Form Bean类,只需要在Struts配置文件中配置,即可得到Form Bean的定义。使用动态Form简化房屋信息发布的代码。
4) 使用实体对象作为Form属性:讲解如何使用实体对象作为Form属性,简化Action代码。
DispatchAction的编码实现。
1) Action类继承DispatchAction
4个方法名称与JSP页面传递的operation参数的值一样
每个方法的参数与普通Action的execute一样
2) 配置文件action增加parameter属性,指定区分执行的方法的参数名称,
Struts根据该参数值调用Action的对应方法
显示友好的报错信息
用途:对于用户输入合法性验证,以及用户操作出错或系统出错时要给用户提示友好的报错信息。
实现:
1)资源文件添加和编写(国际化,eclipse插件:Resourcebundle Editor使用):
struts-config.xml文件中配置
<message-resources parameter="com.aptech.jb.ApplicationResources" />
一个或多个
ApplicationResources.properties
ApplicationResources_zh_CN.properties
2)Action中方法修改:
错误提示信息的处理
使用ActionErrors对象存储多个消息
add方法(ActionMessages.GLOBAL_MESSAGE, ActionMessage对象)
使用ActionMessage对象存储一个消息
构造方法的参数为资源文件中的键值"errors.login"
3)在页面上显示报错信息:
<html:errors/>, [<bean:message key=”” bundle=””/>]
使用动态Form简化开发
用途:避免代码的冗余
动态From实现:
1) 配置文件中定义动态Form
2) Action中如何从动态Form中取值:.get(key)
注意:get方法驱动的值为Object类型,需要转换成实际的类型!
不要频繁使用动态Form,否则降低效率。