网站大量收购闲置独家精品文档,联系QQ:2885784924

struts2中的action..doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
struts2中的action.

Action的数据 4.3.1??数据来源 在helloworld示例里面,在运行Action的execute方法的时候,你会神奇般的发现,Action的属性是有值的,而这正是Action进行请求处理所需要的数据。那么,这些数据从何而来呢? ?????? 很明显,这些数据就是你在登录页面填写的数据,换句话说,这些数据来源于用户请求对象,也就是request对象。 ?????? 可是,Struts2怎么知道,页面上的值如何和Action的属性进行对应呢? ?????? 这就涉及到如何把页面的数据和Action进行对应的问题了,接下来就来讨论页面的数据和Action的三种基本对应方式。 4.3.2??基本的数据对应方式 在Struts2中,页面的数据和Action有两种基本对应方式,分别是:属性驱动(FieldDriven)和模型驱动(ModelDriven)。 属性驱动又有两种情况:一种是基本数据类型的属性对应;另外一种是JavaBean风格的属性对应。为了区分它们,我们约定称呼如下:称呼“基本数据类型的属性对应”为属性驱动,而“JavaBean风格的属性对应”为直接使用域对象。 下面就分别来看看它们都什么意思,都如何实现。 1:属性驱动FieldDriven(基本数据类型的属性对应) 基本数据类型的属性对应,就是web页面上要提交的html控件的name属性,和Action的属性或者与属性相应的getter/setter相对应,这种做法就是基本数据类型的属性对应的属性驱动。 事实上,我们已经使用过这种方式了,前面HelloWorld示例,就是采用的这种方式来把值对应到Action中的。 比如在登录页面上,我们是这么写的: ? java代码: 查看复制到剪贴板打印 form?action=/helloworld/helloworldAction.action?method=post?? ????input?type=hidden?name=submitFlag?value=login/?? ????账号:input?type=text?name=accountbr?? ????密码:input?type=password?name=passwordbr?? ????input?type=submit?value=提交?? /form?? 在Action中是这么写的: ? java代码: 查看复制到剪贴板打印 public?class?HelloWorldAction?extends?ActionSupport?{?? ????private?String?account;?? ????private?String?password;?? ????private?String?submitFlag;?? ????public?String?getAccount()?{?? ????????return?account;?? ????}?? ????public?void?setAccount(String?account)?{?? ????????this.account?=?account;?? ????}?? ????public?String?getPassword()?{?? ????????return?password;?? ????}?? ????public?void?setPassword(String?password)?{?? ????????this.password?=?password;?? ????}?? ????public?String?getSubmitFlag()?{?? ????????return?submitFlag;?? ????}?? ????public?void?setSubmitFlag(String?submitFlag)?{?? ????????this.submitFlag?=?submitFlag;?? ????}?? ????//其他部分暂时省略掉,好让大家看清楚数据的对应关系?? }?? 你会发现,在页面上input的name属性,和Action的属性是同一个名称,这样一来,当页面提交的时候,Struts2会自动从request对象里面把数据取出来,然后按照名称进行对应,自动设置到Action的属性里面去。 有些朋友可能会说,Action的属性都是private的呀,按道理外部是无法访问的,正是因为如此,才为每个私有的属性提供了getter/setter方法,来让外部访问。 这也意味着,如果你不想为每个属性提供getter/setter方法,觉得很累赘,有一个简单的方式,那就是把属性的可访问权限设置成public的就可以了。但在Java开发中,不是很建议直接开放属性

文档评论(0)

gangshou + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档