Jsf 如何设置
这是我在xhtml中的代码和在backingbean中的代码。如何设置“项目标签所有值”以搜索所有值Jsf 如何设置,jsf,Jsf,这是我在xhtml中的代码和在backingbean中的代码。如何设置“项目标签所有值”以搜索所有值 <h:selectOneRadio value="#{faPrincipiaCntrprtyList.activeFlag}"> <f:selectItem itemLabel="Active" itemValue="1"/> <f:selectItem itemLabel="InActive" itemValue="0" /> <
<h:selectOneRadio value="#{faPrincipiaCntrprtyList.activeFlag}">
<f:selectItem itemLabel="Active" itemValue="1"/>
<f:selectItem itemLabel="InActive" itemValue="0" />
<f:selectItem itemLabel="All" itemValue="????"/>
</h:selectOneRadio>
下面是支持bean
public class FaPrincipiaCntrprtyList extends
FaPrincipiaCntrprtyQuery<FaPrincipiaCntrprty> {
static Logger logger = Logger.getLogger(FaPrincipiaCntrprtyList.class.getName());
private static final long serialVersionUID = 1L;
private byte activeFlag = 1;
/*List<Byte> activeFlagList = new ArrayList<Byte>();
public List<Byte> getActiveFlagList() {
return activeFlagList;
}
public void setActiveFlagList(List<Byte> activeFlagList) {
this.activeFlagList = activeFlagList;
}*/
private static final String EJBQL = "select faPrincipiaCntrprty from FaPrincipiaCntrprty faPrincipiaCntrprty";
private static final String[] RESTRICTIONS = {"lower(faPrincipiaCntrprty.cntrprtyCode) like lower(concat(#{faPrincipiaCntrprtyList.faPrincipiaCntrprty.cntrprtyCode},'%'))",
"faPrincipiaCntrprty.activeFlag = #{faPrincipiaCntrprtyList.activeFlag}",};
private FaPrincipiaCntrprty faPrincipiaCntrprty = new FaPrincipiaCntrprty();
public FaPrincipiaCntrprtyList() {
setEjbql(EJBQL);
setRestrictionExpressionStrings(Arrays.asList(RESTRICTIONS));
setMaxResults(10);
}
public byte getActiveFlag() {
return activeFlag;
}
public void setActiveFlag(byte activeFlag) {
if (activeFlag == 2) {
activeFlag = (Byte) null;
}
/*if (activeFlag == 2) {
activeFlagList.add((byte) 0);
activeFlagList.add((byte) 1);
setActiveFlagList(activeFlagList);
}else{
activeFlagList.add((byte) activeFlag);
setActiveFlagList(activeFlagList);
}*/
this.activeFlag = activeFlag;
}
public FaPrincipiaCntrprty getFaPrincipiaCntrprty() {
return faPrincipiaCntrprty;
}
}
您可以将任何值设置为selectAll。最终,您将匹配精确的值并获取所有记录
比方说,我把它赋给了值2
xhtml
注意:这只是为了演示。根据需要更改searchResult类型
<h:form>
<h:selectOneRadio value="#{faPrincipiaCntrprtyList.activeFlag}">
<f:selectItem itemLabel="Active" itemValue="1"/>
<f:selectItem itemLabel="InActive" itemValue="0" />
<f:selectItem itemLabel="All" itemValue="2"/>
<f:ajax listener="#{faPrincipiaCntrprtyList.processFlagSelection()}" render=":searchResult"/>
</h:selectOneRadio>
</h:form>
<h:panelGroup id="searchResult">
#{faPrincipiaCntrprtyList.searchResult}
</h:panelGroup>
@ManagedBean
@ViewScoped
public class FaPrincipiaCntrprtyList {
private long activeFlag = 0;
private String searchResult;
public void processFlagSelection() {
if (activeFlag == 2) {
searchResult = "Featch all result from database.";
} else {
searchResult = "Fetch result based on active/inactive";
}
}
//getter and setters
}