如果我使用渲染属性,则无法保存到后台bean。 JSF 1.2

时间:2014-03-26 21:42:07

标签: jsf jsf-1.2

我正在处理具有搜索功能的网页。页面顶部是搜索条件,页面底部是单选按钮显示搜索结果 然后,用户选择一个单选按钮并单击“下一步”以保存选择。

我只想在按下搜索按钮后显示结果。如果我使用“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。

谢谢你, 埃利

0 个答案:

没有答案