2010-08-11 33 views
0

我面临以下错误: 我有一个selectOneRadio在一个文件中使用a4:support来调用服务器端的某些东西。 问题是我需要reRender一系列包含最外层文件中的选项卡组件。 reRender在这种情况下显然不起作用。 这里是代码: 我的MBean:为什么a4j:输出不重新渲染父面板

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> 

任何帮助表示赞赏。谢谢。

回答

2

我猜你的文件不能由同一h:formaj4:form

重新描绘适用于相同的形式下的部件。

1

ReRender works for components under the same form.

当使用reRender时,组件不需要处于相同的形式。他们可以在任何地方。尝试通过增加formId指向重新解析:

reRender=":formId:componentId" 
0

onChange事件仅适用于以下控件: 文件上传,选择,文本,文本区域。因此它与单选按钮不匹配,您必须使用“onselect”作为以下内容:

<a4j:support ajaxSingle="true" event="onselect" immediate="true" reRender="pnMaster" action="#{instrutorMB.mudarForcaTrabalho}"/> 
相关问题