在默认设置下,Action是多实例的,每次访问都会创建新的Action实例
- 修改ProductAction
在ProductAction的构造方法里打印this
package com.how2java.action; import java.util.ArrayList; import java.util.List; import com.how2java.bean.Product; public class ProductAction { public ProductAction(){ System.out.println("product action instance: " + this); } private Product product; private List<Product> products; public List<Product> getProducts() { return products; } public void setProducts(List<Product> products) { this.products = products; } public String show() { product = new Product(); product.setName("iphone7"); return "show"; } public String add() { return "show"; } public String list() { products=new ArrayList(); Product p1 = new Product(); p1.setId(1); p1.setName("product1"); Product p2 = new Product(); p2.setId(2); p2.setName("product2"); Product p3 = new Product(); p3.setId(3); p3.setName("product3"); products.add(p1); products.add(p2); products.add(p3); return "list"; } public Product getProduct() { return product; } public void setProduct(Product product) { this.product = product; } }
- 测试
重启tomcat,访问
http://127.0.0.1:8080/struts/listProduct
多访问几次,可以看到是不同的Action实例