struts2一个action内包含多个请求处理方法的处理

struts2一个action内包含多个请求处理方法的处理

ID:13002469

大小:47.50 KB

页数:9页

时间:2018-07-20

struts2一个action内包含多个请求处理方法的处理_第1页
struts2一个action内包含多个请求处理方法的处理_第2页
struts2一个action内包含多个请求处理方法的处理_第3页
struts2一个action内包含多个请求处理方法的处理_第4页
struts2一个action内包含多个请求处理方法的处理_第5页
资源描述:

《struts2一个action内包含多个请求处理方法的处理》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Struts2一个Action内包含多个请求处理方法的处理Struts2一个Action内包含多个请求处理方法的处理(三种方式)Struts1提供了DispatchAction,从而允许一个Action内包含多个请求处理方法。Struts2也提供了类似的功能。处理方式主要有以下三种方式:1.1.动态方法调用:DMI:DynamicMethodInvocation动态方法调用。动态方法调用是指:表单元素的action不直接等于某个Action的名字,而是以如下形式来指定对应的动作名:

2、用户的请求将提交到名为”userOpt”的Action实例,Action实例将调用名为”login”方法来处理请求。同时login方法的签名也是跟execute()一样,即为publicStringlogin()throwsException。注意:要使用动态方法调用,必须设置Struts2允许动态方法调用,通过设置struts.enable.DynamicMethodInvocation常量来完成,该常量属性的默认值是true。1.1.1.  示例:修改用户登录验证示例,多增加一个注册用户功能。1.  修改Action类:packageorg.qiujy.web.struts

3、2.action;importcom.opensymphony.xwork2.ActionContext;importcom.opensymphony.xwork2.ActionSupport;/***@authorqiujy*@version1.0*/publicclassLoginActionextendsActionSupport{privateStringuserName;privateStringpassword;privateStringmsg;//结果信息属性/**   *@returnthemsg   */publicStringgetMsg(){     re

4、turnmsg;}/**   *@parammsgthemsgtoset   */publicvoidsetMsg(Stringmsg){     this.msg=msg;}/**   *@returntheuserName   */publicStringgetUserName(){     returnuserName;}/**   *@paramuserNametheuserNametoset   */publicvoidsetUserName(StringuserName){     this.userName=userName;}/**   *@returnthep

5、assword   */publicStringgetPassword(){     returnpassword;}/**   *@parampasswordthepasswordtoset   */publicvoidsetPassword(Stringpassword){     this.password=password;}/**   *处理用户请求的login()方法   *@return结果导航字符串   *@throwsException   */publicStringlogin()throwsException{     if("test".equals(t

6、his.userName)&&"test".equals(this.password)){      msg="登录成功,欢迎"+this.userName;      //获取ActionContext实例,通过它来访问ServletAPI      ActionContextcontext=ActionContext.getContext();      //看session中是否已经存放了用户名,如果存放了:说明已经登录了;//否则说明是第一次登录成功      if(null!=context.getSession().get("uName")){        msg

7、=this.userName+":你已经登录过了!!!";      }else{        context.getSession().put("uName",this.userName);      }            returnthis.SUCCESS;     }else{      msg="登录失败,用户名或密码错";      returnthis.ERROR;     }}publicStringregist()throwsException{     //将用户名

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。