保存后如何重置表单?

发布于 2025-01-05 10:59:21 字数 137 浏览 0 评论 0原文

我正在 PrimeFaces 对话框中制作产品插入表单。我的 bean 的范围是会话。我可以插入一个产品,但是当我尝试插入另一个产品时,表单包含以前产品的信息。我想重置表格。我尝试了 UIInput 但它不起作用。我怎样才能清除表格?

I am doing a product insert form in PrimeFaces dialog. My bean's scope is session. I can insert a product, but when I try to insert another product, the form has previous product's information. I want to reset form. I tried UIInput but it doesnt work. How can I clear the form?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

如果没有你 2025-01-12 10:59:22

只需在保存后创建一个新产品,并确保在保存后使用 ajax 更新表单。

例如

<h:form>
    <h:inputText value="#{productController.product.name}" />
    <h:inputTextarea value="#{productController.product.description}" />
    <h:selectOneMenu value="#{productController.product.category}">
        <f:selectItems value="#{applicationData.categories}" />
    </h:selectOneMenu>
    <p:commandButton value="Save" action="#{productController.save}" update="@form" />
</h:form>

,顺便说一句

public void save() {
    productService.save(product);
    product = new Product();
}

,那种bean确实不属于会话范围。将其放入视图范围内。

Just create a new product after saving it and make sure that you're ajax-updating the form after save.

E.g.

<h:form>
    <h:inputText value="#{productController.product.name}" />
    <h:inputTextarea value="#{productController.product.description}" />
    <h:selectOneMenu value="#{productController.product.category}">
        <f:selectItems value="#{applicationData.categories}" />
    </h:selectOneMenu>
    <p:commandButton value="Save" action="#{productController.save}" update="@form" />
</h:form>

with

public void save() {
    productService.save(product);
    product = new Product();
}

By the way, that kind of bean really doesn't belong in the session scope. Put it in the view scope.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文