Struts2中表单数据怎样实例化 <input name=user.name>struts实现拿值方法

1、使用领域对象来接收用户输入
er对象中包含两个字段:username和password,在Action中有一个User对象user,则在jsp中:

Jsp代码
<input type="text" name="user.username">   
<input type="text" name="user.password"> 

<input type="text" name="user.username">
<input type="text" name="user.password"> 来进行数据绑定。

当Struts2尝试设置user对象的username属性时,将依次调用以下的方法:

Java代码
action.getUser();   
action.setUser(new User());   
action.getUser().setUserName(); 

action.getUser();
action.setUser(new User());
action.getUser().setUserName();Struts2首先尝试获得User对象的引用,当它发现User对象为null时,它将使用User类的默认构造方法创建一个User实例,并调用action的setUser()方法设置这个实例。这样,Struts2就可以设置Usser对象的username字段了。



在Struts2中,自动实例化对象的特性对于任意层次的对象包含关系都是适用的。



例如, user.address.street这样的表达式会调用:

Java代码
getUser().getAdderss().setStreet(...); 

getUser().getAdderss().setStreet(...); Struts2会先创建User对象,接着创建Address对象,然后设置Address对象的street属性。



2、使用ModelDriver action
Java代码
public class LoginAction implements Action, ModelDriven<User> {   
           
       private User user = new User();   
 
       @Override 
       public User getModel() {   
                 return user;   
       }   
 


public class LoginAction implements Action, ModelDriven<User> {
     
       private User user = new User();

       @Override
       public User getModel() {
                 return user;
       }

} 在jsp页面中:

Jsp代码
<input type="text" name="user.username">   
<input type="text" name="user.password"> 

<input type="text" name="user.username">
<input type="text" name="user.password">

3、使用action的属性接收用户输入
Java代码
public class LoginAction implements Action, ModelDriven<User> {   
 
           private String username;   
           ...   
       

public class LoginAction implements Action, ModelDriven<User> {

           private String username;
           ...
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值