struts2 / 接收用户输入参数的三种机制

本文介绍了Struts2框架中三种不同的用户输入参数接收机制,并通过一个简单的用户登录示例展示了每种机制的具体应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Struts2中给开发者提供了三种接收用户输入参数的机制,我们可以根据自己项目的需求和个人习惯来选择适合自己的接收机制。

今天分别使用着三种机制来实现了一个简单的用户登录.

 

三种机制:
 1、使用Action类中的属性接收用户输入参数
 2、使用领域模型对象接收用户输入参数
 3、使用Struts2独有的模型驱动接收用户输入参数

 

第一种是我们入门时最先接触的一种方式,很简单、也很容易接受和理解。转发时在页面获取参数

值为为:

<s:property value="username" />

 

第二种是我们开发项目时最为常用的,对于一个属性相对比较多的时候,如果把属性都写到Action中

那会把Acton类弄的很乱,所以属性较多的时候最好选择第二种方式来接收用户输入参数。转发时在界

面获取参数值为:

<s:property value="user.username" />

 

第三种方式比较特殊,它是Struts2种独有的一种接收用户输入的机制,想在项目中使用模型驱动

(ModelDriven)需要让Action实现com.opensymphony.xwork2.ModelDriven 接口,使用它

的getModel()方法来通知Struts2要注入的属性类型,并且声明属性时一定要实例化,但不需get,

set方法(这是与第二种方式的区别)。

Java代码 复制代码
  1. package com.lsc.alan.action;   
  2.   
  3. import com.lsc.alan.vo.User;   
  4. import com.opensymphony.xwork2.ModelDriven;   
  5. /**  
  6.  * 使用模型驱动来接受用户输入,需要实现ModelDriven接口  
  7.  * @author Alan  
  8.  * 时间:2009年7月10日  
  9.  */  
  10. public class LoginAction3 implements ModelDriven<User>{   
  11.     /** 领域模型User对象 **/  
  12.     private User user = new User();   
  13.        
  14.     public User getModel() {   
  15.         return user;   
  16.     }   
  17.     public String execute(){   
  18.         if (user.getUsername().equals("Alan") && user.getPassword().equals("Alan")){   
  19.             return "success";   
  20.         } else {   
  21.             return "failure";   
  22.         }   
  23.     }   
  24. }  

 

转发时在界面获取参数值为:

<s:property value="username" />

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值