博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2.vo传参模式和ModerDriven传参模式
阅读量:7114 次
发布时间:2019-06-28

本文共 2294 字,大约阅读时间需要 7 分钟。

转自:https://wenku.baidu.com/view/84fa86ae360cba1aa911da02.html

Copy上面的myStruts2项目,改名为myStruts2Vo项目。作如下修改:在LoginAction中有两个字段:username,password。把此两个属性重构到com.asm.vo.User类中,然后在LoginAction中提供User对象及相应的get/set方法。现在需要注意的是在login.jsp中会有如下的修改:

户名:<input type="text" name="user.username"><br>

密码:<input type="password" name="user.password"><br>

关键就是改掉name属性值。其它基本无变动。 后话:假如此此User对象并不能和Model层的相应对象完全对应,我们还应借助此User对象在Action中构建出Model层的相应对象,这样,在exectue方法中便能通过构建的Model对象作为参数与Model层交互。

 

1 package com.asm; 2  3 import com.asm.vo.User; 4 import com.opensymphony.xwork2.Action; 5  6 public class LoginAction implements Action{ 7  8     private User user = new User(); 9     10     public User getUser() {11         return user;12     }13 14     public void setUser(User user) {15         this.user = user;16     }17 18     @Override19     public String execute() throws Exception {20         if("struts2".equals(user.getUsername())){21             return "loginSuccess";22         }else{23             return "loginFailure";24         }25     }26 27     28 }

 

1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2     pageEncoding="UTF-8"%> 3  4  5  6 
7 Insert title here 8 9 10
11 用户名:
12 密码:
13
14
15 16

 

Copy上面的myStruts2Vo项目,改名为myStruts2Model项目。重点是修改LoginAction,修改后的主要内容如下:

1 package com.asm; 2  3 import com.asm.vo.User; 4 import com.opensymphony.xwork2.Action; 5 import com.opensymphony.xwork2.ModelDriven; 6  7 public class LoginAction implements Action,ModelDriven
{ 8 9 private User user = new User();10 11 @Override12 public String execute() throws Exception {13 if("struts2".equals(user.getUsername())){14 return "loginSuccess";15 }else{16 return "loginFailure";17 }18 }19 20 @Override21 public User getModel() {22 return user;23 }24 25 26 }

 

 

1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2     pageEncoding="UTF-8"%> 3  4  5  6 
7 Insert title here 8 9 10
11 用户名:
12 密码:
13
14
15 16

说明:它实现了ModelDriven接口,并使用了泛性机制(必须),因此要求jdk1.5以上。

现在需要注意的是在login.jsp中name属性值为User中两个字段,和第一个实例一样。说明:此方式一般不会使用,在此略作了解。

 

转载地址:http://peghl.baihongyu.com/

你可能感兴趣的文章
我的友情链接
查看>>
Windows 2012 - Dynamic Access Control 浅析
查看>>
Powershell 比较AD和Exchange的用户登录时间
查看>>
linux系统组成之小型RedHat little linux制作四
查看>>
我的友情链接
查看>>
How to Calculate Network and Broadcast Address
查看>>
通过7个python函数理解区块链
查看>>
Elasticsearch常用操作API
查看>>
Ambari 增加新的stack示例
查看>>
我的友情链接
查看>>
信息提示框:MessageBox
查看>>
教你用报表工具搭建企业考核系统
查看>>
321android浏览器
查看>>
find命令基本用法及练习
查看>>
ejabberd disable_sasl_mechanisms
查看>>
什么时候才能恢复我学习的心...
查看>>
Android零基础入门第12节:熟悉Android Studio界面,开始装逼卖萌
查看>>
export, import 和 export default的区别
查看>>
云场景实践研究第5期:朗新科技
查看>>
临近春节你为什么打不到车?概率论来帮忙!
查看>>