我正在处理具有搜索功能的网页。页面顶部是搜索条件,页面底部是单选按钮显示搜索结果 然后,用户选择一个单选按钮并单击“下一步”以保存选择。
我只想在按下搜索按钮后显示结果。如果我使用“rendered”属性,我无法保存panelGroup中的值。
我的jsp摘录:
<div>
<div>
<h:outputFormat value="Search SEIN"></h:outputFormat>
<h:inputText value="#{pc_Mresearch.sein}"></h:inputText>
</div>
<h:commandButton action="#{pc_Mresearch.doSeinSearch}" value="Search"/>
</div>
<h:panelGroup rendered="#{pc_Mresearch.searchResultsReturned}">
<legend class="legend">Results</legend>
<div id="searchResultsRadioButtons">
<h:selectOneRadio layout="pageDirection" id="radioAcctNum" value="#{pc_Mresearch.employeracct}">
<f:selectItems value="#{pc_Mresearch.recentSEINEmployerList}"/>
<f:selectItem itemLabel="Not Listed" itemValue="0"/>
</h:selectOneRadio>
</div>
</h:panelGroup>
<hx:commandExButton type="submit" value="Next" id="next" action="NextPage"></hx:commandExButton>
pc_Mresearch bean的摘录:
public String doSeinSearch() {
// make web svc call to search by SEIN
// populate recentSEINEmployerList property to be used by searchResultRadioButtons
if (recentSEINEmployerList != null) {
this.searchResultsReturned = true; //to be used by "rendered" property
}
return "Success";
}
我发现了一篇文章(http://docs.oracle.com/cd/E19226-01/820-7627/bnarj/index.html),上面写着
“渲染的属性仅限于使用rvalue表达式。如值和方法表达式http://docs.oracle.com/cd/E19226-01/820-7627/bnahu/index.html中所述,这些右值表达式只能读取数据;它们无法将数据写回数据源”
有没有人对使用什么而不是渲染有任何建议?我正在使用JSF 1.2。
谢谢你, 埃利