Ver Mensaje Individual
  #2 (permalink)  
Antiguo 24/11/2008, 12:41
juankarnet
 
Fecha de Ingreso: agosto-2008
Mensajes: 57
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Modificar un fichero .properties en Struts

Bueno mas o menos he resuelto mi problema... Lo dejo aqui posteado por si a alguien le sirviese.

El problema era acceder a la direccion del fichero desde las clases de autenticacion, así que lo que hice fue pasarle la ruta del servlet como parametro de la funcion de autenticacion. No se si habrá otra manera, pero de momento esto funciona bien. pongo el codigo:
Código PHP:
vo=aServices.Autenticar(loginpasswordservlet.getServletContext().getRealPath(""));
//Esto en el servlet action desde donde autenticamos
...

//ficheroParametros es el nombre del fichero
//Constructor que carga el archivo de propiedades
       
public PropiedadesUsers(String ruta) {

           
ruta=ruta+"/WEB-INF/usuarios/";
            
           
FileInputStream is null;
           try {
                   
is = new FileInputStream(ruta+ficheroParametros);
                   
prop.loadis );     // Cargo propiedades desde InputStream
            
}
               catch (
IOException e) {
                   
mensajeError = new String("Mensaje de error: " e.toString() );
           }
       }

       
//función para la obtención del parámetro por la clave
       
@SuppressWarnings("finally")
    public 
String getParametro(String claveString defecto) {
              
String retorno defecto;
              try {
             
retorno prop.getProperty(clavedefecto);
              }
              catch (
Exception e) {
             
retorno defecto;
              }
              
finally {
             return 
retorno;
              }
           }

       
//Sobrecargado de la función de obtener el parámetro
       
public String getParametro(String clave) {
              return 
getParametro(clave"");
           }

       public 
void setParametro(String claveString passwordString ruta){

           
ruta=ruta+"/WEB-INF/usuarios/";
           
FileOutputStream outnull;
           
prop.setProperty(clavepassword);

           try {
               
out = new FileOutputStream(ruta+ficheroParametros);
               
prop.store(out"Usuarios/claves");
           } catch (
IOException e) {
               
e.printStackTrace();
           }

       } 
Espero que a alguien le valga, porque a mi me hubiera venido de perlas, que no he encontrado nada parecido.
1 saludo