2012-05-31 3 views
1

, когда я нажимаю кнопку handler.toggleCreatingTheme(), но outputPanel не рендеринг. Когда я обновляю страницу (f5), отображается содержимое панели.визуализация a4j commandButton не работает; страница не отображается

   <a4j:commandButton styleClass="simple-submit-button" 
        action="#{handler.toggleCreatingTheme()}" 
        rendered="#{!handler.creatingTheme}" 
        value="txt" 
        immediate="true" 
        render="newThemeForm" oncomplete="initEditor()" status="statusWait" /> 

       <a4j:outputPanel id="newThemeForm" ajaxRendered="true" rendered="#{handler.creatingTheme}"> 

эти теги находятся в теге h: form, есть только один h: form.

Как я могу обновить страницу самостоятельно, так что рендеринг панели в тот момент, когда я нажимаю кнопку?

ответ

1

Вставить newThemeForm в другой a4j: outputPanel и сделать его вместо отрисовки newThemeForm .Это потому newThemeForm не будет в DOM при попытке сделать его, как это rendered атрибут все еще будет false. как:

<a4j:outputPanel id="outerPanel> 
<a4j:outputPanel id="newThemeForm" rendered="#{bean.booleanvalue}"> 
</a4j:outputPanel> 
</a4j:outputPanel> 

Рендер outerPanel и не newThemeForm.

0

я попробовал так, что AhamedMustafaM упоминается, но оно не работает со мной, так что я искал и пытался на некоторое время, так что в конце концов я должен заставить его работать с обходным путем, вот как

<a4j:commandButton id="clear" value="Clear" action="#{handler.clearData}" immediate="true" > 
    <!-- dummy call just to make it work --> 
    <a4j:actionListener listener="#{ViewerController.test}"/> 
    <f:ajax render="dataGroupPanel"/> 
</a4j:commandButton>