-
三种方式的简单说明
- 属性传递 把参数定义为属性提供get/set方法.
- 使用情况 参数少,不需要共享.
- 演示代码
public class LoginAction extends ActionSupport
{
private String username;
private String password; public String getUsername()
{
return username;
} public String getPassword()
{
return password;
} public void setUsername(String username)
{
this.username=username;
} public void setPassword(String password)
{
this.password=password;
} }- 页面参数形式
<a href='login?username=??&password=??'>
-
域模型传递 声明成员对象 提供get/set方法
- DTO :Data Transfer Object 数据传输对象。
- 使用情况:隐藏表结构,大量字段传输.
-
public class LoginAction extends ActionSupport
{
private User user; public String getUser()
{
return password;
} public void setUser(User user)
{
this.user=user;
} }public class User
{
private String username;
private String password; public String getUsername()
{
return username;
} public String getPassword()
{
return password;
} public void setUsername(String username)
{
this.username=username;
} public void setPassword(String password)
{
this.password=password;
} } - 页面实现
<a href='login?user.username=??&user.password=??'>
- 模型驱动
- 使用情况 传输对象
- 实现ModelDriven<[比如:User]>接口
- 代码实现
public class LoginAction extends ActionSupport implements ModelDriven<User>
{
private User user=new User(); @Override
public User getModel()
{
return user;
}
}- 页面实现
<a href='login?user.username=??&user.password=??'>