Alterar propriedades de um arquivo .css através de informações fornecidas em um formulário...  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
fernandoeick
JavaEvangelist

Membro desde: 24/01/2007 14:18:48
Mensagens: 489
Localização: Campinas-SP
Offline

Gostaria de algumas dicas ou sugestões de qual maneira eu posso proceder para realizar o meu problema... pois estou meio sem rumo...

Eu gostaria de, em um formulário, fazer algumas perguntas para o cliente... perguntas do tipo:
Qual a cor fundo da sua página?
Qual a cor da fonte desejada?
Qual o tamanho da fonte?
Qual a cor da borda do menu?

E então eu forneço algumas opções para ele escolher...

Ao submeter o formulário, eu gostaria que o arquivo .css disponível no servidor fosse atualizado para aquelas opções que o cliente selecionou...

Mas estou sem direção...
O arquivo .css já irá existir, então acho que devo submeter o formulário para um servlet que acessa as propriedades deste .css e grava as novas informações no mesmo...

Abrir e acessar o arquivo não seria o problema, eu acho, mas e como alterar os valores das propriedades???

Alguém um dia já fez algo parecido, ou sabe de algo que pode me ajudar???

Agradeço a todos!!

Analista/Desenvolvedor Java
Graduado em Informática - Sistemas de Informação.
Sun Certified Java Programmer 6.0
Next Step: SCWCD 5

E dá-lhe Grêmio!
[MSN]
peron
JavaGuru
[Avatar]

Membro desde: 09/06/2005 09:39:31
Mensagens: 236
Localização: Blumenau/SC
Offline

bom, você pode fazer de várias formas...

uma seria você criar um .css só com essas opções, e os outros css herdarem desse, assim vc reescreve o arquivo todo sem problemas.

agora se vc realmente quer modificar o arquivo, você terá que criar um parser para ler o conteudo do atual e escrever novamente, já modificado, ou no arquivo original, criar chaves para um replace futuro.

algo como

aí é um simples string replace.

Espero ter ajudado..

sds

This message was edited 1 time. Last update was at 19/10/2007 08:47:51


Marcos Peron
http://www.marcosperon.com





"Dizem que, no início, Deus criou o céu e a Terra. Mentira! Na verdade, no início Deus criou Java. Onde achas que ele programou o mundo, oras?"
[WWW] [Yahoo!] [MSN] [ICQ]
fernandoeick
JavaEvangelist

Membro desde: 24/01/2007 14:18:48
Mensagens: 489
Localização: Campinas-SP
Offline

Ajudou sim...

Mas gostaria de algumas dicas de código... tipo:

O usuário passou cor de fundo azul e cor da fonte branca e tamanho 12...

Como vou escrever isso dentro do css através de programação???

Digamos que o arquivo seja estiloCliente.css... como abrirei o arquivo e substituirei o valor da propriedade background-color por exemplo que no modelo era branco, pela seleçcão do cliente que foi azul???

Esta questão de herança de css me parece bem interessante... não tinha pensado nisso, mas não me surgem idéias de como proceder para realizar isso...

Analista/Desenvolvedor Java
Graduado em Informática - Sistemas de Informação.
Sun Certified Java Programmer 6.0
Next Step: SCWCD 5

E dá-lhe Grêmio!
[MSN]
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

Não sei se isso funciona direito (problemas de caching etc.) , mas que tal fazer com que o .css seja gerado por um servlet ou JSP?
Assim você poderia fazer todas as customizações possíveis, para cada usuário, sem ter de reinventar a roda.
Em vez de você usar algo como


você pode usar algo como


[WWW]
peron
JavaGuru
[Avatar]

Membro desde: 09/06/2005 09:39:31
Mensagens: 236
Localização: Blumenau/SC
Offline

thingol wrote:Não sei se isso funciona direito (problemas de caching etc.) , mas que tal fazer com que o .css seja gerado por um servlet ou JSP?
Assim você poderia fazer todas as customizações possíveis, para cada usuário, sem ter de reinventar a roda.


Eu fui na prerrogativa (bonita essa palavra) de que ele iria gravar o arquivo e seria uma customização geral, para todos os usuários. Caso seja por usuário e dinâmico, concordo plenamente com sua abordagem.

Uso muito aqui isso que você citou, com PHP e Smarty, onde posso facilmente misturar arquivo fixo com css dinâmico e o mesmo possui template caching então não sobrecarrega o server (tanto assim).

Em java com certeza, dá pra otimizar bem mais.

Saudações
[WWW] [Yahoo!] [MSN] [ICQ]
fernandoeick
JavaEvangelist

Membro desde: 24/01/2007 14:18:48
Mensagens: 489
Localização: Campinas-SP
Offline

Parece perfeito!

Mas e será que funciona? Não sei se meus conhecimentos são suficientes para realizar tal tarefa...

Mas irei atrás...

Se houver algum material que pode ajudar...

Analista/Desenvolvedor Java
Graduado em Informática - Sistemas de Informação.
Sun Certified Java Programmer 6.0
Next Step: SCWCD 5

E dá-lhe Grêmio!
[MSN]
fernandoeick
JavaEvangelist

Membro desde: 24/01/2007 14:18:48
Mensagens: 489
Localização: Campinas-SP
Offline

Há disponível algum exemplo prático para algo parecido com isso, onde possa formular a resolução do meu problema?

Analista/Desenvolvedor Java
Graduado em Informática - Sistemas de Informação.
Sun Certified Java Programmer 6.0
Next Step: SCWCD 5

E dá-lhe Grêmio!
[MSN]
chicobento
JavaGuru
[Avatar]

Membro desde: 14/06/2004 01:44:04
Mensagens: 226
Localização: Campinas
Offline

thingol wrote:Não sei se isso funciona direito (problemas de caching etc.) , mas que tal fazer com que o .css seja gerado por um servlet ou JSP?
Assim você poderia fazer todas as customizações possíveis, para cada usuário, sem ter de reinventar a roda.
Em vez de você usar algo como


você pode usar algo como




Thingol, acho que funciona sim, pois eu já fiz isso com arquivo .js, mas como você disse, tem que renomear para .jsp.
Agora, eu gostaria de saber se existe algum modo de dizer para o Servlet Container interpretar como um jsp arquivos cuja extensão seja diferente de jsp. Acho que só criando um Servlet e redirecionando para o .jsp (no browser o acesso ficaria com a "extensão" do Servlet.)

E complementando: para evitar o cache utilizar algo como:



Isso funciona no caso do .js.
[MSN]
 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team