Olá, eu tenho no meu projeto vários formulários…
<h:form>
<h:messages/>
aki no meio tem vários
<h:inputText required="true" requiredMessage="teste" ...../>
e no final um botão que chama um método no ManagedBean.
<h:commandButton.../>
</h:form>
O problema é que quando eu clico no botão sem valor no inputtext, ele aparece neste caso, a mensagem teste em cima do h:form e no lugar do <h:messages/>
e se eu retiro o <h:messages/> ele aparece a mensagem “teste” uma vez em cima do <h:form>
como eu faço pra tratar isso?
cara,
sua explicação ficou meio confusa, mas acho o que vc quer é isso, coloque globalOnly=“true” no seu h:messages
t+
resumidamente
ele ta exibindo mensagem sem o <h:messages>
eu queria que mostrasse a mensagem só no lugar onde eu coloco o <h:message>… mais quando eu coloco isso, ele fica aparecendo em 2 lugar
entao,
é so fazer do jeito que eu te falei, que vai funcionar.
t+
eu coloquei desse jeito ai e continuo exibindo as mensagens la em cima da página…
e se eu tiro esse globalOnly=“true” ele exibe as mensagens nos 2 lugares…
Em cima do seu form você não tem a tag:
<h:messages/>
Talvez em outra página?
cara,
os componentes funcionar assim,
h:messages com globalOnly=“true”, ele so vai exibir as msg que vc setou no seu MB com FacesContext.getCurrentInstance().addMessage
h:message vc vai vincula-lo ao seu componente, por exemplo um inputtext com requered true, ele vai exibir essa mensagem.
da uma verificada no que vc está fazendo.
t+
no meu MB nao tem nenhuma mensagem do tipo FacesContext.getCurrentInstance().addMessage
e no meu xhtml não tem <h:messages> sem ou com o globalonly…
o estranho eh isso… ele ta exibindo mensagem do nada…
pelo q eu vi eh antes do <h:form>…
cara,
da um clean no seu projeto, da uma limpada no seu servidor de aplicação.
t+
eu ja fiz isso, várias vezes…
faz tempo na verdade q ta aparecendo…
a unica tag q eu tenho diferente na página eh <ui:include src=“topo.xhtml”/>
axo q num tem nada a ve
- pelo que eu vi aki, fiz o teste, as mensagens estão vindo entre o
<ui:include src=“topo.xhtml”/>
AKI
<h:form>
e meu topo.xhtml só tem um
<c:if test…>
Tem como postar a página toda?
Primeiro o topo.xhtml
[code]
#{util.saudacao} | #{util.mensagem} |
[/code]
Agora o medico_cadastro.xhtml
[code]
//eh bem aqui que aparece a mensagem do nada
Cadastrar Médico
Nome*
CRM*
Telefone*
Clinica*
[/code]
e aqui meu método de cadastrar
//método que cadastra um novo medico
public String cadastro() {
String retorno = "";
try {
dao.salvarNovo(
medicos = (List<Medico>) dao.recuperaLista(Medico.class);
retorno = "medicos";
} catch (Exception e) {
retorno = "medico_cadastro";
}
return retorno;
}
Faz seguinte. Faz uma busca por todo seu projeto procurando a palavra teste! =D
nao nao, akilo ali em cima eu falei só pra exemplo
meu projeto está exatamente como postei ai em cima
sem nenhuma tag <h:message ou messages/>
e ta exibindo a mensagem… ta meio loco issso
e pq eu tenho nos campos o required true e tenho uma requiredMessage…
- eu não to especificando nenhum lugar pra exibir as mensagens tpow
Nome Obrigatório
CRM Obrigatório… etc…
No seu web.xml você tem alguma configuração do tipo:
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>