【问题标题】:How to clear form fields and rerender form with RichFaces如何使用 RichFaces 清除表单字段并重新呈现表单
【发布时间】:2014-04-10 06:49:39
【问题描述】:

我的任务很简单:我有一个存储搜索条件的搜索表单是 SearchCriteriaSession bean,因此它可以被记住并预先填充。我想在该表单中添加重置按钮:

1) 清除 bean 的条件,因此调用 bean 的 clearSearchCriteria() 方法
2) 重新渲染表单,因此字段为空

这是我的代码,我不知道为什么它不起作用:

搜索.xhtml

...
<h:form id="criteriaForm">
    <div class="controls">
        <h:inputText type="text" id="testName" value="#handlingBean.criteria.testName}" />
    </div>

    //more input fields but with same format

    <div class="form-actions">
        <r:commandButton action="#searchCriteriaSession.clearSearchCriteria}" value="Reset" render="@form :criteriaForm" />
    </div>
</h:form>
...

searchCriteriaSession.clearSearchCriteria 只是清除条件。当我调试它时,我看到它正确清除。即使我刷新页面时表单也会清除,所以问题是 render 属性无法正常工作,我猜。

有人可以帮帮我吗?

P.S.:我正在使用 RichFaces,这个 maven 神器:

<dependency>
    <groupId>org.richfaces.compat</groupId>
    <artifactId>richfaces-components-rich</artifactId>
    <version>4.5.0.Alpha2</version>
</dependency>

【问题讨论】:

    标签: java jsf richfaces


    【解决方案1】:

    您的render 属性只需要@form

    <r:commandButton action="#searchCriteriaSession.clearSearchCriteria}" value="Reset" render="@form" />
    

    【讨论】:

    • 我终于找到了问题,它甚至不在 RichFaces 中,而是在 bean 的逻辑中:-(尽管如此,你是绝对正确的,不需要 :criteriaForm。谢谢!跨度>
    猜你喜欢
    • 1970-01-01
    • 2011-09-15
    • 1970-01-01
    • 2017-11-17
    • 2016-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-18
    相关资源
    最近更新 更多