其实以前从来都没有接触过OAF开发,还是参加工作后才接触到的,起初觉得很难因为没有人会像自己的老师那样告诉你这个工具怎么用,那个方法什么意思。不过幸好组长给了我一个参考的小程序,自己再跟着做一遍感觉其实OAF开发并不想最初想的那么难。这几天比较闲所以打算整理一些比较重要的知识,以方便以后查看。
1.、required yes/or 是否必须填写
2、disable client side validation true/false 是否需要进行客户端验证
3、BC4J
view instance 指明需要使用的视图
view Attribute 指明相对应的属性字段
4、css class:OraBlcolumnHeader,OraTableCellText,OraErrorText
5、clinet Action 用来控制刷新页面,传送相关参数
6、Rendered true/false 显示/隐藏控件
动态设置控件显示/隐藏的两种方式
a.subBut.setRendered(true);
b.第一步:(在某个视图中)新建一个参数,如IsRendered
第二步:在视图的实现类中修改getIsRendered()方法,设置在指定情况下显示或隐藏,若视图名为CuxContractVO
第三步:在页面布局中找到需要受控制的控件,设置Rendered的属性值为${oa.CuxContractVO1.IsRendered}
7、forwardImmediately,setForwardURL两种跳转之间的区别
forwardImmediately会停止当前页面的请求,直接跳转到新的页面,而setForwardURL会等当前页面的请求结束后再跳转。
8、processRequest()加载页面时进行相应的处理(初始化数据)
processFormRequest()用来处理页面发送的请求
9、选择列表中控件的searchAllow为true表示允许用户在LOV值中进行查询选择, Selective Search Criteria为true保证了用户
至少输入一个查询条件,防止用户盲目查询。
10、(String)a a.toString() 与String.valueOf(a)之间的区别
(String)a:当a不为字符数据时,强制转换则会报错,另外两种方式则不会报错。
a.toString():当a为null时将会报错,另外两种方式则不会报错。
String.valueOf(a):如果a为null,返回结果为"null"而不是null。
11、传参数 parameters
Name:empId Value:${oa.EmpVO1.EmpId}
12、进行删除操作
OAViewObject vo=this.getEmpVO1();
Row row=vo.getFirstFilterRow("EmpId",empId);---empId为传进行的参数
if(row!=null){
row.remove(); }
getTransaction().commit();