Olá pessoa,
estou com o seguinte problema, ao clicar no botão de limpar o formulario o mesmo chama meu método,
e dentro dele faço um new para os objetos que quero limpar,
porém o mesmo não zera o meu objeto, porque na resposta do primefaces ele trás o formulario para atualizar mas o input continua com o valor.
página xhtml:
[code]<ui:composition xmlns=“http://www.w3.org/1999/xhtml”
xmlns:h=“http://java.sun.com/jsf/html”
xmlns:f=“http://java.sun.com/jsf/core”
xmlns:ui=“http://java.sun.com/jsf/facelets”
xmlns:p=“http://primefaces.prime.com.tr/ui”
template="/template/layoutManager.xhtml">
<ui:define name="title">
<h:outputText value="#{messages['administrador.title.label']}" />
</ui:define>
<ui:define name="body">
<p:messages id="messages" />
<h:form id="formManagerAdministrador">
<h:inputHidden
value="#{administradorBean.administrador.idAdministrador}" />
<p:panel header="#{messages['administrador.panelManter.label']}">
<h:panelGrid columns="4">
<h:outputLabel value="#{messages['administrador.nome.label']}" />
<p:inputText id="nome" size="40"
value="#{administradorBean.administrador.nome}"
label="#{messages['administrador.nome.label']}" required="true" />
<h:outputLabel for="email"
value="#{messages['administrador.email.label']}" />
<p:inputText id="email" size="40"
value="#{administradorBean.administrador.email}"
label="#{messages['administrador.email.label']}" required="true" />
<h:outputLabel for="login" value="#{messages['login.login.label']}" />
<p:inputText id="login" value="#{administradorBean.login.login}"
label="#{messages['login.login.label']}" required="true" />
<h:outputLabel for="senha" value="#{messages['login.senha.label']}" />
<p:password id="senha" value="#{administradorBean.login.senha}"
promptLabel="#{messages['org.primefaces.password.feedback.promptLabel']}"
weakLabel="#{messages['org.primefaces.password.feedback.weak']}"
goodLabel="#{messages['org.primefaces.password.feedback.good']}"
strongLabel="#{messages['org.primefaces.password.feedback.strong']}"
label="#{messages['login.senha.label']}" />
<h:outputLabel value="#{messages['estado.descricao.label']}" />
<h:selectOneMenu id="estado" required="true"
value="#{cidadeBean.estado}"
label="#{messages['estado.descricao.label']}">
<f:selectItem itemValue="0"
itemLabel="#{messages['estado.noneSelected.label']}" />
<f:selectItems value="#{estadoBean.estados}" var="estado"
itemLabel="#{estado.descricao}"
itemValue="#{estado.idEstado}" />
<p:ajax update="cidade, messages"
listener="#{cidadeBean.loadCidadesByEstado}" />
</h:selectOneMenu>
<h:outputLabel value="#{messages['cidade.descricao.label']}" />
<h:selectOneMenu id="cidade" required="true"
value="#{administradorBean.administrador.cidade.idCidade}"
label="#{messages['cidade.descricao.label']}">
<f:selectItem itemValue="0"
itemLabel="#{messages['cidade.noneSelected.label']}" />
<f:selectItems value="#{cidadeBean.cidades}" var="cidade"
itemLabel="#{cidade.descricao}"
itemValue="#{cidade.idCidade}" />
</h:selectOneMenu>
<p:commandButton value="#{messages['button.salvar']}"
actionListener="#{administradorBean.salvar}"
update="formManagerAdministrador, messages" />
<p:commandButton value="#{messages['button.cancelar']}"
action="#{administradorBean.novo}"
immediate="true"
update="formManagerAdministrador, messages" />
</h:panelGrid>
</p:panel>
</h:form>
</ui:define>
</ui:composition>[/code]
class java:
[code]package br.com.site.beans;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Service;
import org.springframework.web.context.WebApplicationContext;
import br.com.site.entity.Administrador;
import br.com.site.entity.Estado;
import br.com.site.entity.Login;
@Service
@Scope(WebApplicationContext.SCOPE_REQUEST)
public class AdministradorBean {
private Administrador administrador = new Administrador();
private Login login = new Login();
public void salvar() {
novo();
}
public void novo() {
administrador = new Administrador();
login = new Login();
}
public Administrador getAdministrador() {
return administrador;
}
public void setAdministrador(Administrador administrador) {
this.administrador = administrador;
}
public Login getLogin() {
return login;
}
public void setLogin(Login login) {
this.login = login;
}
}
[/code]
alguém sabe como resolver este problema?