OAF 小知识
打開新窗口鏈接地址
1.link的動態使用
link組件有一個屬性叫 Target Frame,設置為_blank就可以新開窗口
link組件默認是打開當前系統中的連接地址,如果要打開外部網頁,可以在Distination URI里面使用http://,如http://www.baidu.com
如果此link是在table中,每行的地址都不一樣,那么使用http://{@linkSite}使用這個動態傳入參數就行了。
?
2.如果需要被打開的新窗口連接地址邏輯太復雜,那么可以使用rawText,然后綁定vo。
?
?
?在AM中取得message等系統定義的內容,通過this.getOADBTransaction()來獲取,例如
this.getOADBTransaction().getMessage("","",null); this.getOADBTransaction().getSequenceValue(""); this.getOADBTransaction().getProfile(""); this.getOADBTransaction().getUserId(); this.getOADBTransaction().getUserName(); this.getOADBTransaction().getCurrentDBDate(); this.getOADBTransaction().getCurrentLanguage(); this.getOADBTransaction().getCurrentUserDate();……
?
this.getOADBTransaction().getCurrentDBDate();的類型為oracle.jbo.domain.Date。pageContext.getCurrentDBDate()的類型為java.util.Date。
?
3.關于 ?row.setNewRowState(Row.STATUS_INITIALIZED);
此方法會將當前新增的行設為初始狀態,若添加之后未在此行做任意操作即跳轉到其他頁面,則再返回該頁面會發現此行會消失。
?
4. 通過LOV返回到基于EO的VO,
通過LOV返回的值在頁面上如果是一個disabled或者readonly,例如返回一個messageStyledText,則此值僅僅會插入VO,而不會插入EO。
?
5. 在AM中設置多組織訪問。
<Properties>
<Property Name ="MULTIORG_ENABLED" Value ="M" />
</Properties>
?
?
6.OAF中加密解密參數
加密傳參
mappingId = pageContext.getParameter("mappingId");paramMappingId = pageContext.encrypt((String)mappingId);((HashMap)localObject3).put("mappingId", paramMappingId);解密參數
if (paramOAPageContext.getParameter("mappingId") != null){localObject3 = paramOAPageContext.getParameter("mappingId");str9 = paramOAPageContext.decrypt((String)localObject3);paramOAPageContext.putTransactionValue("mappingId", str9);}else if (paramOAPageContext.getTransactionValue("mappingId") != null){str9 = (String)paramOAPageContext.getTransactionValue("mappingId");}參考:EBS OAF 開發中 URL中的標記、加密和編碼?
?
7.若基于EO中的VO ?有一個calculate的列的別名與EO中字段的名稱一模一樣,那么會被認為是數據庫列,在從EO往數據庫插入數據的時候,會去進行校驗,容易造成數據不一致的錯誤。
會拋出事務處理異常的錯誤。
?
?
8. 控制hideshowheader的方法
??? String hideShowEvent = pageContext.getParameter(OAWebBeanConstants.EVENT_PARAM);
??? System.out.println("region7="+pageContext.getParameter("region7")+","+hideShowEvent);
??? if (OAWebBeanConstants.SHOW_EVENT.equals(hideShowEvent))
??? {?
????????????? //your code
}
?
9.messageStyledText 設置 No Wrap ?為true ?不換行
?
10.
查詢結果顯示總數而不是更多,
例如直接顯示為 1-10/16
設置VO->Tuning-> ?All at Once
?
?
11.
QueryTable里面客戶化查詢
OAQueryBean?querybean?=?(OAQueryBean)webBean.findIndexedChildRecursive("QueryRN");//?判斷用戶是否選擇了查詢按鈕
if?(pageContext.getParameter(querybean.getGoButtonName())?!=?null)
{?
} 12. 在定義的VO SQL中若使用:1這種方式使用變量,Binding Style請使用Oracl Positional. 參考資料:?Oracle EBS OAF(ADF) VO(View Object)開發中的綁定方式(Binding Style)的介紹
?
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
- 上一篇: django表单
- 下一篇: 小红书为什么下载不了