Struts2 接收多表关联的数据

今天在做一个计费移动的时候,使用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;
	}

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

Struts2 接收多表关联的数据

时间: 2024-11-08 19:47:48

Struts2 接收多表关联的数据的相关文章

struts2接收collection和map的数据

struts2接收collection和map的数据

多表关联解决数据在MVC显示

由于子表的某些字段是父表的外键,正常情况之下,显示的只是一个键值.如下图的Highlight列,如果这样显示,确实不友好. 如果是在创建或是编辑的模式之下,我们可以使用下拉菜单来解决,如<Html.DropDownListFor练习(2)> http://www.cnblogs.com/insus/p/3383277.html . 但在显示时,我们可以写一个函数,来实现一个友好名称显示,但是这样的做法,在MVC里,确实是一种性能之差.那要怎样做,才是一个较折衷办法呢? Insus.NET解决的

MySQL 中两表关联更新数据

通过用户手机号,更新他的添加时间和过期时间,两表关联更改副表内容 UPDATE expand_money e INNER JOIN members m ON e.uid = m.id SET e.add_time=unix_timestamp(),e.expired_time=unix_timestamp()+60*60*24*7 WHERE m.user_phone = '139139139139'

数据库单表关联实现数据计数功能(表格自身关联)

注:本博文为博主原创,转载请注明出处. 问题提出:在数据库中有这样一张表格,其中主要包含三个字段,GoodsId(货物编号),TypeId(类型编号),State(状态).货物编号不重复,GoodsId与TypeId之间属于N对1的关系,State为状态主要分为两种"null"和"1","null"表示该货物未卖出UnSold,"1"表示货物Sold.现在有如下业务,统计出类型编号下有多少货物Sold,多少货物UnSold.

数据迁移之sql server2005 中两表关联更新数据操作

近期在做数据迁移的工作,老系统的数据迁移到新系统,当中麻烦的确不少,因为是重新设计的系统与老系统中有太多的不一至性,例如表结构,字段的处理,像附件的存储方式,还有历史遗留数据... 后面会慢慢的把相关技术处理细节展现出来,当然,难度不大,只是琐碎事情太多. 今天就简单来看看数据的关联更新. 业务场景: 同一个业务,有一张主表及一张子表,字段差不多,只是老系统中主键生成方式GUID,而新的主键生成方式自增长型,这里就不论合不合理了,来看看我们的问题. 我们要做的就是把老数据导入到新表,并且保持他们

在yii2中展示表关联的数据

方法一: 在数据库中构建数据表的时候,首先把表之间的关联关系也定义进去: 方法二: 在模型中定义表之间的关联关系,如下: public function getAuthor(){ return $this->hasOne(Author::className(),['id'=>'author_id']); } 此方法中的getAuthor为一对一的关系. 在视图中利用yii\helpers\ArrayHepler 类来填充下拉列表内容: echo $form->field($model,'

sql 两张表关联修改数据

Hr_DepartPlanWeek 部门周计划表:DepartMent部门名称,DepartMentID部门ID. g_group部门表:gname部门名称,gid部门id 根据DepartMentID管理g_group表修改DepartMent update Hr_DepartPlanWeek set DepartMent=t.gname from (select gname,gid from g_group left join Hr_DepartPlanWeek on g_group.GId

新增sql后面可以跟where条件(多表关联新增数据和复制数据)

1.在sql中新增数据的时候,必须条件是,insert的字段在(select)的表里面的字段是有的 insert into table_name( v1,v2,v3) VALUES (select a,b,c from 查询表 where 条件) 2.此sql可复制数据 insert into inj_wash_updatelog g (g.proid,g.update_date)select t.proid,t.subdate from inj_wash_pro twhere t.proid

ofbiz学习笔记01--多表关联查询

不管做什么项目,肯定会用到多表关联查询数据,从网络查询得知ofbiz有三种多表关联查询方法 实现一:Screem.xml 中的 section 里,加 <action>, 加 get-related 实现二:在代码中使用 DynamicViewEntity对象,加入addMemberEntity,addAlias,addViewLink,再用 find 查询 实现三:在 entity.xml 里定义 view-entity 实体对象,在查询时就查这个view的对象 1,方法没写出来,以后再补充