我有一个JSF tabview和form的严重问题
在tabview中,我必须输入文本和提交按钮,每当我提交时,我总是有一个空值。
<h:form id="form">
<p:tab id="tabview" title="Ressources Humaines">
<p:tabView activeIndex="#{SelectBean.activeTab}" value="#{SelectBean.types}" var="item" >
<p:ajax event="tabChange" listener="#{SelectBean.onTabChange}" update=":form" />
<p:tab title="#{item}">
<p:tabView id="tab" activeIndex="#{SelectBean.other}" value="#{SelectBean.res}" var="rr">
<p:ajax event="tabChange" listener="#{SelectBean.onTabChange1}" />
<p:tab title="#{rr.nom_ressource}">
<p:panel rendered ="#{SelectBean.bol}" closable="true" toggleable="true" styleClass="outPanel">
<p:growl id="growl" showDetail="true" />
<h:outputLabel value="Nom " />
<h:inputText value="#{SelectBean.nom}" />
<br/>
<h:outputLabel value="Experience " />
<h:inputText value="#{SelectBean.exp}" />
<br/>
<h:commandButton immediate="true" value="Modifier" action="#{SelectBean.ok}"/>
</p:panel>
</p:tab>
</p:tabView>
</p:tab>
</p:tabView>
</h:form>
SelectBean。nom和SelecBean。Exp总是空的,请帮忙
问题出在你的
<h:commandButton immediate="true" value="Modifier" action="#{SelectBean.ok}"/>
immediate
属性操作方法使JSF通过调用facesContext.renderResponse()
直接进入"同一视图"的呈现阶段,然后组件将按照验证失败时的做法行事——显示缓存在组件中的值,而不是从后台bean中获取数据。
这是一个可能的解决方案列表