执行改Jsp程序,会出现一个表单录入界面,需要输入产品名称 产品价格,点按Submit后,还是执行该jsp的if (request.getParameter("save")!=null)之间的代码。
由于这里使用了数据javabeans的自动赋值概念,实际程序自动执行了setName setPrice语句。你会在服务器控制台中发现下面信息:
1 NameObserver :name changet to ?????(Jsp表单中输入的产品名称) 2 PriceObserver :price changet to ???(Jsp表单中输入的产品价格);
这说明观察者已经在行动了。
同时你会在执行jsp的浏览器端得到信息:
产品数据变动 保存! 并已经自动通知客户
上文由于使用jsp概念,隐含很多自动动作,现将调用观察者的Java代码写如下:
1 public class Test { 2 public static void main(String args[]){ 3 Product product=new Product(); 4 NameObserver nameobs=new NameObserver(); 5 PriceObserver priceobs=new PriceObserver(); 6 7 //加入观察者 8 product.addObserver(nameobs); 9 product.addObserver(priceobs); 10 11 product.setName("橘子红了"); 12 product.setPrice(9.22f); 13 } 14 }
你会在发现下面信息:
NameObserver :name changet to 橘子红了PriceObserver :price changet to 9.22
这说明观察者在行动了。