我正在使用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" />
<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 "";
}
答案 0 :(得分:0)
所以我通过在modalPanel上的确认按钮上设置rerender
找到了我的问题的解决方案。我将其设置为重新渲染整个页面,现在正确显示重置值。