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">
这样也很灵活