Captura de mensagem de erro

estou querendo capturar a mensagem de erro (ou sucesso) que vem da action, mas não entendo direito o funcionamento… sei que o que deve ser feito é algo parecido com o q vem a seguir:

<logic:messagesPresent message="true"> <html:messages id="msg" message="true"> <bean:write name="msg"/> <br/> </html:messages> </logic:messagesPresent>
mas não sei de onde vem essa propriedade name da tag <bean:write>…
alguém sabe me explicar o q é isso?
A action está salvando os erros e as mensagens, + não sei o q colocar nesse campo name… já tentei a variável q eu salvo no saveErrors(), mas nada… será que vou ter que salvar um bean no request?

Para vc usar o <html:errors>, no JSP vc coloca isso:

&lt;html&#58;errors property=&quot;erroPagina&quot;/&gt;

e no código Java, vc faz isso:

ActionMessages erro = new ActionMessages&#40;&#41;;
erro.add &#40;&quot;erroPagina&quot;, new ActionMessage&#40;&quot;key do message resource&quot;&#41;&#41;;
saveErrors &#40;request, erro&#41;;
return mapping.findForward&#40;&quot;aplicacao&quot;&#41;;

O esquema do bean:write eh o seguinte: Vc pode colocar por exemplo na sessão ou no request um valor, tipo assim: request.setAttribute (“chave”, “valor”); e no bean:write, no atributo name, vc coloca o valor “chave” q daí ele vai pegar oq está no request e imprimir na página.

Entendeu?
Qq coisa posta ae…
Abraços…

do jeito q vc falo aí num deu certo não… e eu li em algum lugar também que pode ser usado o <html:messages> tanto para mensagem quanto para erro… basta setar o atributo message como true ou false de acordo com o desejado…
mas voltando ao assunto, qd dou o saveMessages na sessão, não dá erro, mas também não imprime nada… atualmente está assim:

&lt;logic&#58;messagesPresent message=&quot;true&quot;&gt; &lt;html&#58;messages id=&quot;msgs&quot; message=&quot;true&quot;&gt; &lt;bean&#58;write name=&quot;msgs&quot;/&gt; &lt;/html&#58;messages&gt; &lt;/logic&#58;messagesPresent&gt;
sendo que msgs é o nome com o qual eu salvei as mensagens (saveMessages(session,msgs)).

o erro retornado é javax.servlet.ServletException: Cannot find bean: “msgs” in any scope"

  • alguma dica? =/

continuo esperando… =/

Na página:

&lt;logic&#58;messagesPresent name=&quot;error.message&quot;&gt;
			&lt;table&gt;
				&lt;tr&gt;
					&lt;td&gt;
						&lt;html&#58;image src=&quot;style/images/error.gif&quot; /&gt;						
					&lt;/td&gt;
					&lt;td&gt;
						&lt;html&#58;messages name=&quot;error.message&quot; id=&quot;message&quot;&gt;$&#123;message&#125;&lt;/html&#58;messages&gt;
					&lt;/td&gt;
				&lt;/tr&gt;
			&lt;/table&gt;
&lt;/logic&#58;messagesPresent&gt;

No action…:


//...
final ActionMessages messages = new ActionMessages&#40;&#41;;
msgType = &quot;error.message&quot;;
String key = &quot;except.&quot; + e.getClass&#40;&#41;.getSimpleName&#40;&#41;;
final ActionMessage error = new ActionMessage&#40;key&#41;;
messages.add&#40;Globals.ERROR_KEY, error&#41;;
req.setAttribute&#40;msgType, messages&#41;;
//...

T+

na realidade eu tenho q buscar no jsp eh pelo conteúdo d msgType, não?? + eu testei os 2 d qualquer maneira e nenhum funcionou… =/
não dá erro, + também não exibe a mensagem…

Sim, o msgType é que o que tu vai procurar para mostrar. Tenho uma sugestão, além do messagePresent, tenta usar um notPresent (ou equivalente) Também podes fazer isto na tua página pra ter certeza de que o obj foi salvo:

&lt;%
System.out.println&#40;&quot;error&#58; &quot; + request.getAttribute&#40;&quot;error.message&quot;&#41;&#41;;
%&gt;

T+

pronto… conseguí… soh pra orientar quem buscar pelo mesmo problema aí vai o jeito q ficou aki comigo:
No jsp:

&lt;logic&#58;messagesPresent name=&quot;edit.success&quot; message=&quot;true&quot;&gt; &lt;html&#58;messages name=&quot;edit.success&quot; id=&quot;message&quot; message=&quot;true&quot;&gt; $&#123;message&#125; &lt;/html&#58;messages&gt; &lt;/logic&#58;messagesPresent&gt;

No java:

ActionMessages messages = new ActionMessages&#40;&#41;; ActionMessage msg = new ActionMessage&#40;&quot;msg.sucesso&quot;&#41;; messages.add&#40;&quot;edit.success&quot;, msg&#41;; saveMessages&#40;request, messages&#41;;

boa sorte :grin: