綁定是參數在你的bean的變量。比方說,你想 搜索從值和輸入文本:
在頁:
<af:inputText id="it8" binding="#{pageFlowScope.<YOURBEAN>.inputSearchBox}"/>
在你的bean:
private RichInputText inputSearchBox;
public void setInputSearchBox(RichInputText inputSearchBox) {
this.inputSearchBox= inputSearchBox;
}
public RichInputText getInputSearchBox() {
return inputSearchBox;
}
請在bean的方法是會做搜索:
開頁:
<af:commandButton text="search" id="cb6" actionListener="#{pageFlowScope.<YOURBEAN>.search}"/>
在豆:
public void search(ActionEvent actionEvent) {
}
在這種方法中,你需要從AppModuleImpl得到的ViewObject:
BindingContext bindingContext = BindingContext.getCurrent();
DCDataControl dc =bindingContext.findDataControl("YOURAPPMODULEDATACONTROL");
AppModuleImpl appM = (AppModuleImpl)dc.getDataProvider();
ViewObjectImpl vo = appM.getYourVO();
創建並應用於視圖標準viewObject與您在輸入中輸入的文本:
String searchValue = null;
//get the value from the search field
if (inputSearchBox.getValue() != null) {
searchValue = inputSearchBox.getValue().toString();
}
ViewCriteria vc = vo.createViewCriteria();
ViewCriteriaRow vcRow = vc.createViewCriteriaRow();
vcRow.setAttribute("Field you want to search by", searchValue);
vc.addRow(vcRow);
vo.applyViewCriteria(vc);
vo.executeQuery();
現在ViewObject被您的搜索值過濾。 如果你想通過的結果,並從該行你發現你需要做一個行迭代器,通過它迭代並保存您在某些變量所需要的值保存一些VO值:
RowSetIterator rsi = vo.getRowSetIterator();
String valueToGet = null;
while (rsi.hasNext()){
Row r = rsi.next();
valueToGet = (String)r.getAttribute("<WHAT ATTRIBUTE YOU WANT TO GET>");
}