您的位置:首页>软件开发>软件架构>

初学者入门:Structs中基本配置入门 (5)

[ 来源:赛迪网开发者论坛 | 更新日期:2007-7-15 20:16:23 | 评论 0 条 | 我要投稿 ]
动态ActionForm

ActionForm 作为类型转换器

ActionForm的一个强制点是应该使用String 和boolean属性。实际上,这意味着属性必须得从一种转换到另一种类型。大部分应用也需要一些属性,比如电话号码或者数量,以一种格式化的方式出现。核心Java 包提供一些工具来做这种事情,但是要清楚地将他们集成到应用中仍然是一个挑战。

Struts 开发人员经常在ActionForm中包含helper方法,来进行类型转换。helper 方法可以有很多种实现方式,我们将在后面叙述。

5.2.6 ActionForm 作为防火墙

当请求提交时,ActionServlet 使用一个自动组装机制来从请求参数中设置请求的,ActionForm属性。这让你可以通过控制哪个ActionForm 属性被暴露来控制哪个请求参数。是可接受的。这也意味着如果你的ActionForm 的粗心设计你可能失去控制哪个参数可以接受的能力。ActionForm 一定不能包含看起来像是一个JavaBean 属性,但不能从HTTP 请求设置的属性方法。

5.3.4 ActionForm 可以嵌套其它bean

字串1



因为Struts 标签扩展和自动组装机制都支持点号语法来从ActionForm访问其它bean。这是一个方便的方式,可以通过ActionForm来组装存在的bean。在JSP 页面你可以象这样引用一个嵌套的bean:


  propety="values.telephoneText"
  size="14"
  maxlength="14"/>


  
分发(Dispatch )

Struts 开发人员通常使用同一个Action处理相关的操作。一个通常做法来选择操作是在HTML表单中使用隐藏属性。BaseForm 的dispatch 属性也可用作这个目的:


public void setDispatch(String dispatch);
public String getDispatch();


Struts 配置提供连个级别嵌套的ActionForward:

Global (全局) ActionForward对整个应用中的所有Action 对象均有效;

字串8



Local (局部) ActionForward 则在ActionMapping 元素中定义。仅对那些在这个

ActionMapping中调用的Action对象有效。

从Action 对象内部来看,forward 通常像这样来选择:


ActionForward forward =
mapping.findForward("continue");



Tags:
责任编辑:
您的评论
用户名: 新注册) 密码: 匿名评论 [所有评论]

·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据
·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为