ResourceBundle

Queen
26 de Abril del 2005
Hola!
Me puede explicar alguien para que se utiliza el ResourceBundle?? Es por ejemplo para indicar el path de los iconos que se usan??

Gracias

ulises
26 de Abril del 2005
Un ResourceBundle es asociado a un archivo .properties de configuración, el cual tiene la información en la forma nombre=valor.

Después en tu programa solo haces referencia al nombre del campo que quieres conocer su valor y ya está. Todo lo relacionado con la apertura y lectura de archivos está escondida.

Un ejemplo sacado de algunos de mis códigos:
// Variables para archivo de configuración
// Connect.properties - begin
String srbNameBD = "Connect",
sDriverKey = "CSDriver",
sURLKey="CSURL",
sPasswordKey ="CSPassword",
sUserIDKey = "CSUserID";
// Variables para archivo de configuración
// Connect.properties - end

// Archivo de configuración
// para el pool de conexión - Begin
ResourceBundle rbConnectionPool;
String srbNameCP = "ConnectionPool";
int iInitialConnections,
iMaxConnections;
String sInitialConnections,
sInitialConnectionsKey = "CSInitialConnections",
sMaxConnections,
sMaxConnectionsKey = "CSMaxConnections";
// Archivo de configuración
// para el pool de conexión - End

try // JDBC elements: get the PropertyResourceBundle
{

ResourceBundle rbConnect = ResourceBundle.getBundle( srbNameBD );

String sDriver = rbConnect.getString( sDriverKey );
String sPassword = rbConnect.getString( sPasswordKey );
String sURL = rbConnect.getString( sURLKey );
String sUserID = rbConnect.getString( sUserIDKey );

pepe
26 de Abril del 2005
Eso está bien, pero cuando el fichero lo tienes en una ruta absoluta??
Trabajas con el java en c:java y el fichero de propiedades lo tienes en d:archivos.

Como se hace?? me urge y no lo encuentro por ningun lado, por favor dejar mensaje en el mail tb

Muchas gracias

guest
26 de Abril del 2005
El archivo .properties va en el directorio WEB-INF/classes
Ejemplo:
WEB-INF/classes/AppRes.properties
Dentro de App.properties "mapeas" tus cadenas
MSG.DESCRIPTION=Cualquier cadena (incluso con acentos, etc.)

y en tu clase, jsp, etc. lo llamas:
ResourceBundle resBnd = ResourceBundle.getBundle("AppRes");

String myMessage= resBnd.getString("MSG.DESCRIPTION");