1700485420
1700485421
public String getActionName(){
1700485422
1700485423
return getAttValue(“name”);
1700485424
1700485425
}
1700485426
1700485427
@Override
1700485428
1700485429
public String getActionClass(){
1700485430
1700485431
return getAttValue(“class”);
1700485432
1700485433
}
1700485434
1700485435
@Override
1700485436
1700485437
public String getMethodName(){
1700485438
1700485439
return getAttValue(“method”);
1700485440
1700485441
}
1700485442
1700485443
public String getView(String result){
1700485444
1700485445
ViewPathVisitor visitor=new ViewPathVisitor(“success”);
1700485446
1700485447
el.accept(visitor);
1700485448
1700485449
return visitor.getViewPath();
1700485450
1700485451
}
1700485452
1700485453
//获得指定属性值
1700485454
1700485455
private String getAttValue(String attName){
1700485456
1700485457
Attribute att=el.attribute(attName);
1700485458
1700485459
return att.getText();
1700485460
1700485461
}
1700485462
1700485463
}
1700485464
1700485465
这是一个对象适配器,传递进来一个Element对象,把它转换为ActionNode对象,这样设计以后,系统开发人员就不用考虑开源工具对系统的影响,屏蔽了工具系统的影响,这是一个典型的适配器模式应用。
1700485466
1700485467
不知道读者是否注意到getView方法,它使用了一个访问者模式,这是DOM4J提供的一个非常优秀的API接口,传递进去一个访问者就可以遍历出我们需要的对象。我们来看自己定义的访问者,如代码清单38-29所示。
1700485468
1700485469
代码清单38-29 访问者
[
上一页 ]
[ :1.70048542e+09 ]
[
下一页 ]