我遇到以下错误: 我在一个文件中有一个selectOneRadio,它使用a4:support来调用服务器端的东西。 问题是我需要reRender一个包含在一系列包含的最外层文件中的选项卡组件。 reRender在这种情况下显然不起作用。 这是代码: 我的MBean:
public String mudarForcaTrabalho(){
InstrutorBaseVO instrutor = getDados();
setDados(ManterInstrutorHelper.transformarInstrutor(instrutor));
setInterno(!isInterno());
return null;
}
我最外面的文件:manter.xhtml
<h:panelGroup id="pnMaster">
-<h:outputText id="txForca2" value="#{instrutorMB.dados.forcaDeTrabalho}" />-
<rich:tabPanel switchType="client" id="painelTabs">
<rich:tab id="tabBasicas" label="#{msg.INFO_BASICAS}">
<div style="padding:5px;"><ui:include src="informacoesBase.xhtml"/></div>
</rich:tab>
<rich:tab id="tabLocal" label="#{msg.INFO_LOCALIZACAO}" rendered="#{instrutorMB.dados.forcaDeTrabalho == 'N'}">
<div style="padding:5px;"><ui:include src="informacoesLocalizacao.xhtml"/></div>
</rich:tab>
<rich:tab id="tabDetalhe" label="#{msg.INFO_DETALHADAS}">
<div style="padding:5px;"><ui:include src="informacoesDetalhadas.xhtml"/></div>
</rich:tab>
</rich:tabPanel>
</h:panelGroup>
我的内部文件:informacoesBase.xhtml
<h:panelGroup id="painelPai">
<fieldset>
<h:panelGroup id="pnTeste">
-<h:outputText id="txForca" value="#{instrutorMB.dados.forcaDeTrabalho}" />-
</h:panelGroup>
<legend>#{msg.MSG_PERTENCE_FORCA}*</legend>
<h:selectOneRadio id="rdForcaTrabalho" value="#{instrutorMB.dados.forcaDeTrabalho}" disabled="#{instrutorMB.visualizar}">
<f:selectItem itemValue="S" itemLabel="#{msg.SIM}"/>
<f:selectItem itemValue="N" itemLabel="#{msg.NAO}"/>
<a4j:support ajaxSingle="true" event="onchange" immediate="true" reRender="pnMaster" action="#{instrutorMB.mudarForcaTrabalho}"/>
</h:selectOneRadio>
</fieldset>
</h:panelGroup>
感谢任何帮助。谢谢。
答案 0 :(得分:2)
我猜您的文件不在同一h:form
或aj4:form
ReRender适用于相同形式的组件。
答案 1 :(得分:1)
ReRender适用于相同形式的组件。
使用reRender时,组件不需要采用相同的形式。他们可以在任何地方。尝试通过添加formId指向reRender:
reRender=":formId:componentId"
答案 2 :(得分:1)
onchange事件仅适用于以下控件: fileUpload,select,text,textarea。因此它与单选按钮不匹配,您必须使用“onselect”,如下所示:
<a4j:support ajaxSingle="true" event="onselect" immediate="true" reRender="pnMaster" action="#{instrutorMB.mudarForcaTrabalho}"/>