一、implements ModelDriven寫法一: public class HomeAction implements ModelDriven<Product>{ private Product product=new Product();
public String saveProduct(){ System.out.println(pro); return "saveProduct"; } @Override public Product getModel() { return product; } }
寫法二: public class HomeAction implements ModelDriven<Product>{ private Product product;
public String saveProduct(){ System.out.println(pro); return "saveProduct"; } @Override public Product getModel() { product=new Product(); return product; } }
注意:不需要get,set方法。 兩種寫法都需要new。在getModel方法里new,可以寫判斷語句。 如: public Product getModel() { if(product==null){
product=new Product(); }
return product; }
struts2無法implements 兩個ModelDriven,如果想要獲取多個對象,可以在1個javabean中聲明多個對象,前端依然用對象名點屬性名的方式。
二、不 implements ModelDrivenpublic class HomeAction{ private Product product;
public String saveProduct(){ System.out.println(product); return "saveProduct"; } public void setProduct(Product product) { this.product = product; } public Product getProduct() { return product; } }
name:<input type="text" name="product.pname"> price:<input type="text" name="product.price">
注意: 1.前端需用bean去點自己的屬性,bean的名字與action里的屬性名相同。 2.需要set方法和get方法兩個。如果沒有get方法,只能獲取到對象的第一個屬性值,其他都為null。 3.不需要new 三、獲取參數(shù)(Integer String Date)public class ParamAction { private String name; private Integer age; private Date date;
public void setName(String name) { this.name = name; } public void setAge(Integer age) { this.age = age; } public void setDate(Date date) { this.date = date; }
public void getData(){ System.out.println("name:"+name+",age:"+age+",date:"+date); } }
注意:struts2可直接獲取form表單提交的值,無需extends,無需implements。前端常規(guī)寫法即可。
以上三種方法,是struts2用來接收前端參數(shù)。都不需要extends ActionSupport
|