重置jsp页面的问题

时间:2010-06-28 22:07:20

标签: jsf richfaces

我正在使用richfaces在jsp页面上工作。我当前的页面有多个字段和一个添加和重置按钮。

重置按钮工作正常,调用我的backingbean中的方法,该方法使页面上的相应字段为空,并重置其他一些已分类的值。问题出在我的添加按钮上。

添加按钮调用一种方法,该方法验证用户输入的值。验证完成后,新的条目将添加到页面底部的列表中,并且调用重置按钮使用的重置方法以重置页面,以便可以输入另一个条目。除了一种情况外,一切都有效,同时验证输入的信息我想要确认用户的某些信息。我向用户显示一个带有确认选项和取消选项的模板面板。

这是我开始遇到问题的地方。我的确认按钮调用我的backbean中的一个方法,该方法设置了一些值,然后调用我的add方法。我知道它不优雅,但我无法想出更好的解决方案。现在,当add方法完成执行reset方法时,我的页面上没有任何反应。如果我单击我的重置按钮,页面将重置,并在列表中添加一个条目 我不明白为什么页面在所有情况下都被重置,除非我显示模态面板。任何帮助表示赞赏。

代码的一些部分:

JSP页面:

<h:commandButton value="Add" style="font-size:10pt;font-weight:bold" action="#controller.add}" binding="#{controller.addButton}"/>
<h:commandButton value="Reset" action="#{controller.reset}" style="font-size:10pt;font-weight:bold"/>

模态面板(jsp页面的一部分)

<a:commandButton id="confirm" action="#{controller.proceed}" styleClass="confirmIconButton" value="Yes, proceed" />&nbsp;&nbsp;
    <r:componentControl for="confirmUnchangedExpected" attachTo="confirm" operation="hide" event="onclick"/>

支持bean:

public String add() {
    ...
    if (somethinghappend) getPanel().setRendered(true);  
    ...
    list.add(entry);
    reset();
    return "";
}

public String reset() {
    // resets the feilds on the page
    return "";
}

public String proceed() {
    //change values so something does not happen
    add();
    return "";
}

1 个答案:

答案 0 :(得分:0)

所以我通过在modalPanel上的确认按钮上设置rerender找到了我的问题的解决方案。我将其设置为重新渲染整个页面,现在正确显示重置值。