Struts2 接收多表关联的数据

本文介绍如何通过创建数据传输对象(DTO)来解决Struts2框架中接收多张关联表数据时的问题。通过建立UserAddDTO类并正确配置,可以轻松实现多表数据的接收。

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

今天在做一个计费移动的时候,使用Struts2 的modelDriver 接收User提交的数据,在User 中关联着用户详细信息表、电话信息表、套餐信息表和管理员信息表;提交上来的数据有电话号码、用户详细地址和个人信息、套餐的名称、套餐的类型等等、、、
@Entity
public class User {
	
	private int id;
	private String userName;
	private String password;
	private String type;
	private String status;
	private int  counter;
	private Date radate;
	private Customer customerId;//用户详细信息
	private Phone phoneId;//电话信息
	private Pack packId;//套餐详细信息
	private Manager managerId;//哪一个管理员录入的
	private int currentPhone;
	private int currentMassage;
	private int currentData;
	

使用User Model 来接收数据时,一直是接收不到数据;网上查了好多编文章,还是找不到解决方案;如果这时使用属性来接收数据的话,整个UserAction 控制器里面的代码多得无法直视了。

顿时、我就想到了使用数据传输对象DTO类(data transport object)也有的人叫成pojo,不管什么叫;意思就是建立一个简单的javaBean ,这个不干别的事就是用来传输数据的;

为User建立一个 UserAddDTO类 , 把需要数据的属性写进去(注:属性名和属性类型必须一致),并且生成Setter/Getter 方法

public class UserAddDTO {
	
	
	private String userName;
	private String password;
	private String type;
	private String realName;
	private String mobilePhone;
	private String packName;
	private String status;
	private String customerId;//<span style="color:#ff0000;">注意别使用int类型,不然同样接收不到数据</span>
	private String counter;
	private String phoneId;
	private String packId;
	private String managerId;


最后在UserAction 中  new 中 一个对象出来并且生成 Setter/Getter 方法

	private UserAddDTO addDTO  = new UserAddDTO();
	public UserAddDTO getAddDTO() {
		return addDTO;
	}
	public void setAddDTO(UserAddDTO addDTO) {
		this.addDTO = addDTO;
	}
	
	

再一次启动服务器,就可以接受到多个表提交上来的数据了!!!试一试吧!!


  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值