Olá meus amigos, preciso de uma ajuda… Para facilitar a manutencao de meu codigo criei alguns pacotes que representam categorias de mensagens. Entao ficou assim:
- br.com.vconline.os.messages.campos (Aonde coloquei um arquivo chamado messages.properties e dentro deste arquivo os keys dos campos dos forms)
- br.com.vconline.os.messages.erros (Aonde coloquei um arquivo chamado messages.properties e dentro deste arquivo os keys das mensagens de erro)
- br.com.vconline.os.messages.gerais (Aonde coloquei um arquivo chamado messages.properties e dentro deste arquivo os keys de textos gerais)
O problema está na hora de eu usar dois ou mais destes pacotes, como no exemplo abaixo:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<%@page contentType="text/html" pageEncoding="iso-8859-1"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<fmt:setBundle basename="br.com.vconline.os.messages.campo.messages" />
<fmt:setBundle basename="br.com.vconline.os.messages.geral.messages" />
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title><fmt:message key="account.login.title"/></title>
</head>
<body>
<h1><fmt:message key="account.login.titulo"/></h1>
<c:if test="${not empty param['usuario.login']}">
<fmt:message key="account.msg.erro"/>
</c:if>
<form action="account.efetuaLogin.logic" method="post">
<fmt:message key="account.login.usuario"/><input type="text" name="usuario.email"><br>
<fmt:message key="account.login.senha"/><input type="password" name="usuario.senha">
<input type="submit">
</form>
</body>
</html>
os fmt:messages que estao dentro da tag form pertence ao pacote campos mas as outras podem estar ou dentro do geral ou dentro do error.
Qual a melhor forma de resolver isto ? Já procurei muito e só encontro com JSF…
PS.: Meti isto no web.xml, nem sei se precisava, mas qdo eu usava dentro de um arquivo apenas eu usava…
<context-param>
<param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
<param-value>br.com.vconline.os.messages</param-value>
</context-param>