Pessoal,
Tenho 3 possibilidades de MSG diferente …
Entao fiz estes if’s…
Mais nao sei pq to achando q é gambi … e nao sei se tem como eu fazer mais bunito …
você já pensou na possiblidade de criar um Servlet? Uma classe que estende HttpServlet faria essa lógica, você jogaria uma variável message no request, faria um forward pro jsp, e essa página apenas a exibiria. Toscamente, porque não compilei, seria assim:
void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
Form form = null; // o que é form? daonde vêm? você sabe melhor do que eu.
String keyMessage = null;
if (form.getCountAgent() == 1) {
keyMessage = "contacts.list.merge.text0";
} else if (form.getCountAgent() > 1) {
keyMessage = "contacts.list.merge.text0";
} else {
keyMessage = "contacts.list.merge.text0";
}
req.setAttribute("keyMessage", keyMessage);
req.getRequestDispatcher("sua-pagina.jsp").forward(req, resp);
}
Lembre-se que bean:message não se usa mais. Aposto que a aplicação só usa as tags do Struts, mas não passa de um amontoado de jsp’s. Dê preferência a fmt:message.
A lógica de mostrar uma mensagem de erro em uma view pode ser questionável, porém imagine que vc possa querer fazer MAIS do que mostrar uma mensagem de erro: não seria melhor decidir nas camadas mais internas de forma que a view tenha o minimo possivel para trabalhar?
Por exemplo, vc pode criar um teste via junit ou jbehave ou o que for de forma muito mais simples e perceber se a mensagem (ou outros comportamentos) estão corretos de forma muito mais simples do que esperar que UM jsp resolva isso.
a forma que eu gosto de decidir qual a mensagem de erro, é dicidir qual a mensagem que utilizarei nas camadas abaixo, botar a mensagem na sessão e ler da sessão via EL…
sim, scriplets pegam muuuuuuito mau… muito mesmo, e esta certo mesmo, não é nada bom especialmente para manutenção…