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">


 

这样也很灵活

你可能感兴趣的:(jsp)