Editar arquivo.properties ou web.xml

4 respostas
bruninhatp

Oi pessoal!!!

Minha questão é a seguinte: Preciso criar uma página na minha aplicação web como se fosse um painel de controle. Onde o usuário pode alterar resolução das tabelas, cor, imagem de fundo (Serão só duas opções para cada parâmetro, pois a aplicação terá apenas duas versões, inicialmente! E também, apenas o administrador será responsável por estas alterações). Esse parâmetros eu já havia colocado em um arquivo.properties (setAttribute - getAttribute / put - get) e testei também no web.xml (getInitParameter), mas até então só consigo alterar por fora.

[color=red]Como faço pra alterar um desses arquivos, pela aplicação? [/color] :XD:

OBS: Imagino que o ideal é o properties, pois o arquivo web.xml é carregado apenas uma vez na inicialização, enquanto que o properties eu acesso o parâmetro na hora em que preciso.

Valeu!!!

4 Respostas

rissato

vc pode usar a API de IO (package java.io) ou mais especificamente a classe Properties (tem um artigo aqui no GUJ sobre ela).

bruninhatp

Oi rissato!

Se você estiver falando deste aqui:
http://www.guj.com.br/article.show.logic?id=35

Eu já o vi, fiz exatamente como está… Mas não funcionou… não consegui alterar o valor do parâmetro…

=S

C

Se o teu properties estiver dentro do teu JAR, não será possível atualizar o properties, pois não é permitido o acesso de gravação em WEB-INF/lib.
Caso esteja dentro de um diretório convencional, uma pasta como a pasta de imagens ou de css (dentro de /web), você poderá gravar tranquilamente, através de um Servlet, obtendo o path do recurso da seguinte forma:

request.getRealPath("seu_properties");
Caso o seu projeto tenha acesso a banco de dados, seria mais interessante implementar as configurações através de uma tabela, ao invés de um properties.

Abraço!

bruninhatp

Achei uma forma de resolver meu problema! Não sei ainda se é a mais indicada, porém, funciona!!!

A questão é que na hora de ler o arquivo properties, eu faço o load com o endereço do package e estava tentando fazer da mesma forma na hora de editar o arquivo.
Ao invés disso, eu passei o endereço físico do arquivo properties, e funcionou!!!

OBS: A minha aplicação é um .ear que roda no WebSphere.

Muito obrigada pela atenção pessoal!!! :thumbup:

Criado 17 de março de 2009
Ultima resposta 18 de mar. de 2009
Respostas 4
Participantes 3