概述
在使用Oracle ADF做开发时,经常会遇到在页面加载时执行一些初始化操作的类似需求,而应对这些需求时,一般可以通过在Backingbean的构造方法中执行,或编 写Controller Class等方法实现,类似地,我们可以借助于Bookmark来更为方便地达到同样的效果。
实现
1、创建ADF应用
2、打开adfc-config.xml,从“Component Palette”中拖一个View组件到该配置文件中,命名为main
3、双击该View,生成对应的页面,命名为main.jspx
4、在ViewController项目中创建新的Java类,页面初始化时将要执行的方法编写在该类中
5、将刚创建完成的类注册为Request Bean
6、在该类中添加如下代码,其中initMethodOnLoading方法即为页面加载时需要执行的方法,而param1作为传入参数,可以通过URL传入进来
private String param1;
public void initMethodOnLoading() {
System.out.println(“page loading…”);
System.out.println(“input param1: ” + param1);
}
public void setParam1(String param1) {
this.param1 = param1;
}
public String getParam1() {
return param1;
}
7、编辑main的Bookmark属性,首先是何止Bookmark为“true”,然后绑定关联的Method为initMethodOnLoading,新增传入参数urlParam1,对应了上面创建的Request Bean中的param1变量
8、在main.jspx页面中新增适当内容
9、先后使用如下链接访问该应用:
http://127.0.0.1:7101/howtobookmarkinit-ViewController-context-root/faces/main http://127.0.0.1:7101/howtobookmarkinit-ViewController-context-root/faces/main?urlParam1=123
10、运行结果如下:
详细代码请查看:howtobookmarkinit.rar