Olá,
gostaria de retirar uma duvida que já estou tendo a algum tempo,
Qual seria a melhor maneira de eu partilhar entre todas minhas páginas web um certo numero de atributos? algo do tipo atributo universal?
Pensei em algumas formas:
Banco de dados, porém gostaria de evitar criar uma conexão para isso
XML, sei que posso guardar em XML os atributos a meu bem entender
No próprio codigo, porém não gostaria que ter que recompilar meu projeto apenas para alterar um atributo
Um JavaBean, o mesmo problema do código
Cookie ou Session, mesmo problema do código
Alguém que já tenha passado por esse problema sabe um solução elegante?
daí você pode recuperar o parâmetro pelo ServletContext:
getServletContext().getInitParameter("autor");
ou em uma JSP:
<%=application.getInitParameter("autor");%>
Agora, se o atributo que você quer guardar é mais complexo que uma String ou número, por exemplo, um objeto do tipo Usuario você pode escrever um SerletContextListener e no método contextInitialized você cria o seu objeto e seta ele no ServletContext, para usar fica muito parecido.
A
AnyDev
Seria um atributo que qualquer Servlet pudesse enxergar, acho que a melhor maneira de fazer isso é pelo próprio web.xml usando o ContextParam, agradeço a ajuda, e perdão pela pergunta tão basica :roll:
alandiniz
Acho que entendi o que você quis dizer…
Por exemplo, vamos supor que o cara quer deixar o titulo da página estático e igual em todas as páginas
ai ele pode criar a string no web.xml e chamar nas páginas no (ak faz a chamada)
A
AnyDev
alandiniz:
Acho que entendi o que você quis dizer…
Por exemplo, vamos supor que o cara quer deixar o titulo da página estático e igual em todas as páginas
ai ele pode criar a string no web.xml e chamar nas páginas no (ak faz a chamada)
Exatamente isso, posso deixar alguns atributos que vão ser padrões em todas minhas páginas, como nome página de cabeçalho, titulo,versão da aplicação, etc. seriam mais informações estaticas mas que talvez eu vá precisar altera-las um dia, e fica muito mais facil eu deixar todas essas informações centralizadas do que sair de pagina em pagina alterando :shock:
alandiniz
Bom aproveitando o tópico podemos discutir qual a melhror opção. Eu fiz o seguinte.
Criei uma entidade chamada config com alguns atributos tipo, “nomeDoSite”, “versao”, etc…
criei um ConfigBean do tipo ApplicationScoped que faz requisição no banco de dados e traz estas informações…
e nas paáginas eu chamo o #{configBean.config.nomeDoSite}
será que essa forma é ruim?
rmendes08
alandiniz:
Bom aproveitando o tópico podemos discutir qual a melhror opção. Eu fiz o seguinte.
Criei uma entidade chamada config com alguns atributos tipo, “nomeDoSite”, “versao”, etc…
criei um ConfigBean do tipo ApplicationScoped que faz requisição no banco de dados e traz estas informações…
e nas paáginas eu chamo o #{configBean.config.nomeDoSite}
será que essa forma é ruim?
De maneira alguma, isso funciona muito bem. Mas nesse caso, essa é uma boa solução para quem está usando JSF e um banco de dados. Para o colega do post, não é viável ele migrar toda uma aplicação de framework por conta disso.