绑定是参数在你的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>");
}