gpt4 book ai didi

java - 重置 bootsfaces 中加载的表单值

转载 作者:行者123 更新时间:2023-11-30 06:51:53 24 4
gpt4 key购买 nike

我需要重置表单字段并清除加载时的表单值。然而我用了 -

    public void refresh() {
FacesContext context = FacesContext.getCurrentInstance();
Application application = context.getApplication();
ViewHandler viewHandler = application.getViewHandler();
UIViewRoot viewRoot = viewHandler.createView(context, context
.getViewRoot().getViewId());
context.setViewRoot(viewRoot);
context.renderResponse(); //Optional
}

上面的代码可以工作,但是当我在 panelgroup 中使用的字段中输入值时,它不起作用。

<h:panelGroup>
<ui:repeat value="#{formDynAttrbBean.vals}" var="values">
<b:panelGrid columns="6" cellspacing="4">
<b:inputText id="label" value="">
</b:inputText>
<b:selectOneMenu value="">
<f:selectItem itemLabel="SelectType" itemValue="" />
<f:selectItems value="" />
</b:selectOneMenu>
<b:selectBooleanCheckbox value="" />
<b:commandButton actionListener="#{form.types}" />
</b:panelGrid>
</ui:repeat>
<b:commandButton tooltip="Add new attribute" tooltip-position="bottom"
iconAwesome="plus" actionListener="#{form.add}" update="@form" />
<tr />
<b:commandButton value="Save" ajax="true"
actionListener="#{form.submit}" update="@form" />
<tr />
<b:commandButton type="reset" action="#{formController.refresh}"
value="Reset">
</b:commandButton>
</h:panelGroup>

在这种情况下,当我在面板组和重复字段中输入值时,刷新功能不起作用。我只是 bootsfaces 的初学者。请给我建议一种方法。提前谢谢您。

最佳答案

有多种方法可以清除表单的输入字段。例如,JSF 2.2 具有 resetValues="true"属性(请参阅 the article of Michael Kurz (可能未由 BootsFaces 实现)。另一个选项是使用 <b:commandButton type="reset">

但我想知道为什么要在客户端重置这些值?您必须清除它们,因为它们显示一些“脏”(即修改过的)后端 bean。恕我直言,更好的方法是创建一个新的空后端 bean。

关于java - 重置 bootsfaces 中加载的表单值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42595432/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com