struts2 ModelDriven 应该注意的问题

item实体类,主要属性

	@Id
	@GeneratedValue
	private int id;
	
	@Column(nullable=true)
	private String itemNo;
	
	@Column(nullable=true)
	private String itemName;
	
	//物料规格
	private String spec;
	
	//物料型号
	private String pattern;
	
	@OneToOne
	@JoinColumn
	private ItemCategory category;
	
	@OneToOne
	@JoinColumn
	private ItemUnit unit;

 由于item,关联ItemCategory, ItemUnit两个类

 

因此在由jsp页面向action传递参数的时候,就有一些问题了,如果只是使用Modeldriven来处理,是不行的,

需要辅助处理,应该按照下面的实现。ModelDriven在向item赋值的时候,如果只是普通属性,那么就可以自行进行

类型转换,但是现在这里有自己定义的类型,就不行了。

 

	public class ItemAction extends ActionSupport implements ModelDriven{
	private Item item;
	private String categoryId;
	private String unitId;
	private String[] selectFlag;

 

 把jsp也面的name的值设置为categoryId;这样子的话ModelDriven就不会为item赋值了。

这样我们自己取得在设置里面,就可以更新和存储了。

 

也可以不使用ModelDriven,在jsp页面使用这样传值

 

<input type="" name="item.id">
<input type="" name="item.itemName">
<input type="" name="item.itemNo">
<input type="" name="item.spec">
<input type="" name="item.pattern">
<input type="" name="item.category.id">
<input type="" name="item.unit.id">


 

这样也很灵活

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值