1

when i click the button handler.toggleCreatingTheme() is called, but the outputPanel is not rendering. When i refresh the page(f5) the content of the panel is showed.

                <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}">

this tags are both in a h:form tag, there is just that one h:form.

How do I let the page refreshing on his own, so rendering the panel at the moment when i click the button?

4

2 に答える 2

1

newThemeForm別のa4j:outputPanel内に埋め込み、再レンダリングする代わりにレンダリングしますnewThemeForm。これは、属性がまだであるnewThemeFormため、レンダリングしようとするとDOMに含まれないためです。好き:renderedfalse

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

レンダリングouterPanelではなくnewThemeForm

于 2012-05-31T17:11:29.590 に答える
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> 
于 2012-10-18T12:20:11.760 に答える