Botao limpar nao funciona

Boa tarde, estou desenvolvendo um projeto, e estou tendo problemas ao limpar os campos.
O problema: faço uma busca de usuario, ele me retorno o name e o username do msm, a password e a passwordconfrmation ficam editaveis, porem se eu der um salvar sem preencher os password e a passwordconfrmation ele me retorna uma msg dizendo que estas devem ser preenchidas, ate aki blz, agora se eu clicar no botao limpar, ele so limpa o username, que na hora q eu retorno ele deixo desabilitado, os outros campos que estao habilitados nao limpam.

usuario.xhtml[code]<h:form prependId=“false”>
<p:outputPanel id=“formPanel” >
<p:outputPanel rendered="#{!searchAction.rendered}">
<p:tabView id=“cadastroUsuarioCentralTabView” effect=“opacity” effectDuration=“fast”>

                    &lt;p:tab title="Manutenção"&gt;  

                        &lt;h:panelGrid columns="3" id="usuarioGrid"&gt;  
                            &lt;h:outputLabel for="name" value="#{i18n['field.name']}" /&gt;  
                            &lt;p:inputText id="name" required="true" size="50" maxlength="50" value="#{cadastroUsuarioCentralAction.vo.name}"/&gt;  
                            &lt;p:message for="name" display="&gt;&gt;&gt;" /&gt;                                 
                              
                            &lt;h:outputLabel for="username" value="#{i18n['field.username']}" /&gt;  
                            &lt;p:inputText id="username" required="true" size="21" maxlength="21" value="#{cadastroUsuarioCentralAction.vo.username}" disabled="#{cadastroUsuarioCentralAction.vo.id != null}" /&gt;  
                            &lt;p:message for="username" /&gt;  

                            &lt;h:outputLabel for="password" value="#{i18n['field.password']}" /&gt;  
                            &lt;p:password id="password" required="true" size="21" maxlength="21" value="#{cadastroUsuarioCentralAction.vo.password}" feedback="true" /&gt;  
                            &lt;p:message for="password" /&gt;  

                            &lt;h:outputLabel for="passwordConfirmation" value="#{i18n['field.passwordConfirmation']}" /&gt;  
                            &lt;p:password id="passwordConfirmation" required="true" size="21" maxlength="21" value="#{cadastroUsuarioCentralAction.vo.passwordConfirmation}" feedback="false" /&gt;  
                            &lt;p:message for="passwordConfirmation" /&gt;  

                            &lt;h:outputLabel for="enabled" value="Status" rendered="#{cadastroUsuarioCentralAction.ativarRendered}" /&gt;  
                            &lt;p:selectBooleanCheckbox id="enabled" value="#{cadastroUsuarioCentralAction.vo.enabled}" rendered="#{usuarioCentralAction.ativarRendered}"&gt;  
                                &lt;h:outputLabel for="enabled" value="Ativo" /&gt;  
                            &lt;/p:selectBooleanCheckbox&gt;      
                            &lt;p:message for="enabled" /&gt;  

                        &lt;/h:panelGrid&gt;  

                        <br/>  

                        &lt;p:toolbar&gt;  
                            &lt;p:toolbarGroup align="right"&gt;  
                                &lt;p:commandButton value="#{i18n['button.save']}" action="#{cadastroUsuarioCentralAction.salvar}" update="usuarioGrid,growl" /&gt;  
                                &lt;p:commandButton value="#{i18n['button.clean']}" action="#{cadastroUsuarioCentralAction.limpar}" update="usuarioGrid" process="@this"/&gt;  
                                &lt;p:commandButton value="#{i18n['button.back']}" action="pages_principal" actionListener="#{cadastroUsuarioCentralAction.limpar}" ajax="false" immediate="true"/&gt;  
                            &lt;/p:toolbarGroup&gt;  
                        &lt;/p:toolbar&gt;  

                    &lt;/p:tab&gt;  

                &lt;/p:tabView&gt;  

            &lt;/p:outputPanel&gt;  
        &lt;/p:outputPanel&gt;  
    &lt;/h:form&gt;  [/code]

usuarioAction.java[code]

public void limpar() {  
        vo = new CadastroUsuarioCentralVo();  
      }[/code]

Dá uma olhada no log da aplicação. Qnd vc apertar limpar aparece algum erro lá? É possível que vc tenha que colocar um immediate=“true” no botao.

então Guilherme, desta forma que eu setei o action do commandButton ele nao funcionava nem com o immediate=“true”

&lt;p:commandButton value="#{i18n['button.clean']}" action="#{cadastroUsuarioCentralAction.limpar}" update="usuarioGrid" process="@this"/&gt;    

ai o que eu fiz, pedi para o action dar um refresh na tela, e no actionListener eu passei o comando para limpar usando o immediate=“true”

&lt;p:commandButton value="#{i18n['button.clean']}" action="pages_cadastroUsuario" actionListener="#{cadastroUsuarioCentralAction.limpar}" ajax="false" immediate="true"/&gt;

foi a unica maneira que eu consegui fazer, eu olhei o log do tomcat mas ele nao me mostrava nada.

Eu olhei no showcase do primefaces e eles usam o actionListener mesmo. Mas via ajax.
Acho que vale o teste de tirar o process="@this" e colocar o immediate=“true”

E tem mais uma coisa, o seu método limpar, apesar de ser usado em ajax, tem que retornar String. Coloca pra retornar null e testa de novo.

seu eu tirar deixar o ajax ele nao funciona, agora quando desabilito o ajax ele limpa todos os campos