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

Struts2动态方法调用.doc

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在使用Struts2框架进行开发的时候,首先是要配置web.xml文件,这样我们就可以将整个框架加载到web应用当中。其次我们需要编写Action类即是也逻辑控制器类,该类的相关属性是用来接收从页面传递过来的参数;然后在struts.xml文件中对Action类进行配置,其中在struts标签有一个action子标签,action标签中有name属性和class属性,其中name值指定了Action类的访问路径,class值指明了给Action类的类路径。当我们配置好了之后就可以在客户端页面中的form action=“”表单中通过action的属性值设置,就可以访问到我们的这个Action类,从而进行相应的操作。 值得注意的是: 1、如果Action类中只有一个方法,那么这个方法必须以execute命名,并带有String类型的返回值,如果不是以execute命名的话,当我们在form action=“”表单中设置action=“login.action”就会报出:java.lang.NoSuchMethodException: test.loginAction.execute()的异常。注意,当我们使用action=“login.action”时候,就是默认的调用Action类中的public String execute( )方法,所以如果没有该方法,自然会报出异常信息。 2、有的时候我们的Action类中为了处理更多的信息,注意就不会只有一个方法,而是有很多个方法,那么我们该如果在Struts2的框架下来动态的调用这些方法呢,准确的说是正确的调用我们指定的方法呢?假如说我们的Action类,也就是业务逻辑控制器,其中还有两个方法:一个是登录的方法login(),另一个是注册的方法register()。那么我们该如何分别调用这两个方法呢?如下代码: public class loginAction { private String username; private String password; private String repassword; private String tip; // 登录的方法 public String login() { if (username.equals(admin) password.equals(123)) { setTip(login登录成功!); return login_success; } else { setTip(登录失败!); return error; } } // 注册的方法 public String register() { if (password.equals(repassword)) { setTip(register注册成功!); return register_success; } else { setTip(注册失败!); return error; } }action name=login class=test.loginAction result name=login_success/page/login_success.jsp/result result name=register_success/page/register_success.jsp/result result name=error/page/error.jsp/result /action 此时我们在form action=” ”表单中,只要将action的属性设置为aciotn=”login!login.action” 就可以访问到我们的这个login()方法了。同理我们通过action=”login!register.action” 设置就可以访问到我们的register()方法了。 注意的是:aciotn=”login!login.action” 这里我们为什么需要使用这样的方式,而不是上面的第一种情况的aciotn=”login.action”。注意,这里的第一个login指的是我们的Action类的访问路径,也就是action标签的name的值,通过这个值我们就可以访问到loginAction这个类了。我们访问到这个类的目的是什么呢?目的是执行这个类中的方法,不然瞎折腾干嘛?那好,我们怎么才能执行这个类中的方法呢,因为这个类中有两个方法,即login()、register()方法,我们该如何准确的定位到每一个方法上呢,此时你就知道aciotn=”login!login.action”的作用了,这里第一个login是指访问类的路径,即通过上面名字

文档评论(0)

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

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

1亿VIP精品文档

相关文档