jsf-2 – PrimeFaces清除提交表单时的文本字段

发布时间:2020-09-21 整理:编程之家
编程之家收集整理的这篇文章主要介绍了jsf-2 – PrimeFaces清除提交表单时的文本字段编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随编程之家小编过来看看吧!
我有一个注册表格的代码.有一些字段和类型为< p:commandButton>的提交按钮.现在,当我提交按钮时,它会在呈现输入字段值的表单下显示数据表.
我想在表单提交后清除输入文本字段.但价值仍然存在.
如何清除表单文本字段的值?

<p:panel header="Registration Form" closable="true" closeSpeed="100" toggleable="true" toggleSpeed="100" toggleOrientation="vertical">
            <h:panelGrid columns="2" cellpadding="5">
                <p:outputLabel value="*First Name"/>
                <p:inputText id="firstname" value="#{registrationDetails.firstName}" required="true" label="First Name" requiredMessage="First Name required!"/>

                <p:outputLabel value="*Last Name"/>
                <p:inputText id="lastname" value="#{registrationDetails.lastName}" required="true" label="Last Name" requiredMessage="Last Name required!"/>

                <p:outputLabel value="Location"/>
                <p:selectOneMenu id="location" value="#{registrationDetails.location}">
                    <f:selectItem itemLabel="Select Location" itemValue=""/>
                    <f:selectItems value="#{registrationDetails.locations}"/>
                </p:selectOneMenu>

                <p:outputLabel id="email" value="*Email"/>
                <p:inputText value="#{registrationDetails.email}" required="true" label="Email" requiredMessage="Email address required!"/>

                <p:outputLabel value="*Contact Number"/>
                <p:inputText id="contactNumber" value="#{registrationDetails.contactNumber}" autocomplete="false" maxlength="10" required="true" label="Contact Number" requiredMessage="Contact Number required!"/>

                <p:outputLabel value="Address"/>
                <p:inputTextarea value="#{registrationDetails.address}"/>
            </h:panelGrid>
<p:commandButton  value="Submit" actionListener="#{registrationDetails.formSubmit}" id="buttonSubmit" 
                        update="form:msg form:regDetailPanel form:regData" ajax="true">
                <f:attribute name="fname" value="#{registrationDetails.firstName}"/>
                <f:attribute name="lname" value="#{registrationDetails.lastName}"/>
                <f:attribute name="loc" value="#{registrationDetails.location}"/>
                <f:attribute name="email" value="#{registrationDetails.email}"/>
                <f:attribute name="contact" value="#{registrationDetails.contactNumber}"/>
                <f:attribute name="address" value="#{registrationDetails.address}"/>
                <p:ajax event="click" immediate="true" update="form:regDetailPanel form:regData"/>
            </p:commandButton>

解决方法

您必须清除辅助bean中的值,以便“#{registrationDetails.firstName}”等值表达式返回null或空字符串.
即,在Java代码中,在注册成功后将所有必须清除的值设置为null.

这必须在actionListener“#{registrationDetails.formSubmit}”中的某个地方完成.

当您使用AJAX时,您必须确保在成功调用ajax之后更新带有文本字段的JSF页面部分.

总结

以上是编程之家为你收集整理的jsf-2 – PrimeFaces清除提交表单时的文本字段全部内容,希望文章能够帮你解决jsf-2 – PrimeFaces清除提交表单时的文本字段所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入编程之家官方QQ群:1065694478
编程之家官方公众号

微信公众号搜索 “ 程序精选 ” ,选择关注!

微信公众号搜索 “ 程序精选 ”
精选程序员所需精品干货内容!