Mensagens enviadas por: Elvis.The.Pelvis
Índice dos Fóruns » Perfil de Elvis.The.Pelvis » Mensagens enviadas por Elvis.The.Pelvis
Autor Mensagem
tem certeza que não está no zip. mandei dois arquivos. um .war e um .zip
O arquivo .zip contém o fonte do projeto. Edita o build.xml, configurando os parâmetros iniciais para as suas pastas no seu disco. Rode o ant. Deve ser gerado um .war na sua pasta webapps do tomcat. daí é so rodar o Tomcat. Agora to viajando em pq tá dando erro. Deveria rodar legal. Testei em várias máquians aki no trampo e rolou legal.

Rafael, esse problema que você falou é do velocity ou do Tomcat???
O que é que ta dando de errado? Da uma olhada no output do tomcat. imprimo algumas coisas lá.
Vou testar. Deve funcionar. Tem uma forma mais elegante(expressão regular menor) que resolva o problema?
Legal, é isso mesmo. Só queria saber como ficaria com expressão regular java. Não to conseguindo bloquear o "." no final da expressão.
nome@dominio.algo[.algo2.][algo3.]...

regras:
nome: só pode haver letras (maius/minusc), underline(_), hifen(-) e ponto(.) em qualquer parte do nome.

domínio: mesma regra acima, exceto que não pode possuir pontos

os .com.br.oque_mais_vier são opicionais, mas não podem ter ponto

o email não pode terminar com .

fiz algo do tipo, mas to achando muito grande. como fazer melhor

"[a-zA-Z[-_.]]+@[a-zA-Z[-_.]]+"
(qualquer caracter de "a" a "z" + "-" + "_" + "." uma ou mais vezes)
@
(qualquer caracter de "a" a "z" + "-" + "_" + "." uma ou mais vezes)

Com fazer uma amis eficiente???
Paulo ou Rafael, preciso de um help no velocity. Não sei se vocês deram uma olhada no macros.vm da aplicação velocity + struts.

O que tentei fazer foi uma mini biblioteca de macros, para "parsear" dentro de meus outros templates. Cada template meu teria então:

#parse("macros.txt")

Pois todos utilizariam as macros contidas nesse template. Dessa forma, não preciso colar o texto de todas as macros em cada template que eu possua. Se vocês viram, não consegui fazer isso.

Quando usei #include, o conteudo foi incluido e gerado como output, mas ao usar #parse, não consegui usar as macros de dentro do template, ele não reconheceu as macros. To fazendo algo errado?

E mais, como faço para quando o usuario acessar algo do tipo http://localhost/projeto ele não liste o conteúdo do diretório, mas redirecione para o meu VelocityServlet e ele reconheça que deve chamar o index.vm? (não quero usar o welcomefile).

Mais uma coisa, posso definir vários paths para
file.resource.loader.path?
Bem, não tive contato com o VelocityServlet do pessoal da Velocity (juro), veio da minha cabeça mesmo, por isso não sei se é a melhor forma de implementar.

Implementei o servlet por que é mais divertido mesmo. Fiquei divagando um tempo em como fazer para passar os atributos do request para o VelocityContext. Foi no que deu.

Mas se você parar para pensar, o VelocityServlet não é bem um Controller. Ele só renderiza output. Quem decide o fluxo da aplicação ainda é o ActionServlet, então...

Por exemplo, o ActionServlet pega a requisição "algo.do", faz alguma operação e repaça **PUTS - repassa seu burro** a requisição para "novocaminho.vm". O VelocityServlet captura através do servlet-mapping e processa o output. Ele faz o mesmo papel dos servlets gerados a partir das JSP. Você tem vários servlets mas apenas 1 controla o fluxo.

O VelocityServlet não tem poder de decisão.

***Edited***
A idéia de usar um servlet para interpretar os .vm realmente veio de lá. Mas pensando bem, existe alguma maneira melhor de se fazer???
***Edited***
Chequem http://www.guj.com.br/forum/viewtopic.php?t=2052
Este pequeno exemplo mostra como é possível usar o Velocity junto com o Struts, usando inclusive a API de validação do Struts.
Você pode baixar o .war em:
http://www.recjug.com.br/velocitystruts.war
O fonte do projeto pode ser encontrado em:
http://www.recjug.com.br/velocitystruts.zip

Algumas considerações:
1 - Configurem o velocity.properties (%TOMCAT_HOME%webapps/velocitystruts/WEB-INF) para apontar para o diretório onde se encontra seus templates (%TOMCAT_HOME%webapps/velocitystruts/vtemplates).

2 - Configurem o basehref no application.properties para que as imagens e os links funcionem.

3 - No netscape, foi impresso o conteúdo do html sem ter sido interpretado, acho que tem algo a ver com o content type (no i.e. funciona filet).

4 - Essa aplicação sempre vai gerar erros de validação. Ela não chega a realmente cadastrar em banco os dados. Esse exemplo mostra como construir um servlet para interpretar seus *.vm e acessar a API de validation do struts.

Adorei implementar isso

****Edited****
(cantarolando)... Estou esperando meu prêmiooooooooo...
****Edited****
A validação no Struts não depende das tags.
Além do mais, você pode usar validação dinâmica através de XML.

Quando algum erro de validação é encontrado, o erro é encaminhado para alguma página ou servlet para tratá-lo através do escopo de requisição.

Então você pode usar velocity sem problemas. O Struts fornece uma maneira bem conveniente de exibir esses erros de validação na sua própria página de formulário pis as tags interpretam a lista de erros presente na requisição. Basta fazer o mesmo para outros tipos de view.
.POsta pra gente o código da página, fica mais fácil de detectar
Mas você nunca vai poder proibir um desenvolvedor de colocar lógica na view de qualquer forma. Ele pode muito bem fazer algo em JSP, sem usar velocity ou outra ferramenta ou gerar conteúdo dentro de servlet.

Tem que ter filosofia e maturidade do programador para seguir as regras.

Paulo, o Struts implementa o CONTROLLER do MVC e pode usar qualquer outra tecnologia para VIEW, incluindo velocity e XSLT. Então não há motivo para não se usar o Struts, a não ser que haja outro framework que forneça mais opções (o turbine parece que oferece mais recursos, mas é bem mais complicado).

Veja bem a definição do Struts pelos próprios desenvolvedores:

"Struts encourages application architectures based on the Model 2 approach, a variation of the classic Model-View-Controller (MVC) design paradigm. Struts provides its own Controller component and integrates with other technologies to provide the Model and the View. For the Model, Struts can interact with any standard data access technology, including Enterprise Java Beans, JDBC, and Object Relational Bridge. For the View, Struts works well with JavaServer Pages, Velocity Templates, XSLT, and other presentation systems."

Não confundam Struts com taglibs.[/b]
Tem um amigo meu que diz:
"next, next, next... finish".

E se você pergunatr algo durante a instalação ele responde:

"que parte você não entendeu sobre next e finish???"



eheh

Off topic só pra descontrair, o Rafael já deu o caminho das pedras.
O ideal é na pasta onde o arquivo está localizado.
c:meu_primairo_prog_java<pacote>MinhaClasse.java.
entre neste diretório e execute "javac MinhaClasse.java".

Existem maneiras melhores de compilar projetos, mas como você está iniciando, fique com o prompt de comando mesmo.

Mais na frente, quando estiver trabalhando em algum projeto, olhe o Ant, uma ferramenta ROCK para otimizar processos de build (compilação + algumas outras funcionalidades) de projeto.
 
Índice dos Fóruns » Perfil de Elvis.The.Pelvis » Mensagens enviadas por Elvis.The.Pelvis
Ir para:   
Powered by JForum 2.1.8 © JForum Team