Dúvida de utilização do Velocity em conjunto com Hibernate e Struts  XML
Índice dos Fóruns » Ferramentas, Frameworks e Utilitários
Autor Mensagem
welldasilva
Entusiasta Java
[Avatar]

Membro desde: 03/04/2007 19:10:38
Mensagens: 15
Offline

Pessoal,

Estou criado um projeto de cadastro de clientes através de uma aplicação WEB. A persistência é com Hibernate e o controller o Struts. Como view estou utilizando Velocity, mas não tenho experiência com esse framework e estou com dificuldade.
Percebi que minha view .vm não está com o direcionamento correto através do struts-config.
Não estou sabendo fazer um hyperlink que funcione com velocity.
Tentei $link.action ; $link.forward ; só estou conseguindo com html
Não consigo chamar minha servlet:

<form action="$link.setAction('/cadastrarCliente')" method="post">
... cofigurei essa servlet no struts-config e não funciona. O Tomcat informa que o recurso não está disponível. Alguém consegue me ajudar?

Obrigado,

Wellington
tgpadua
JavaBaby

Membro desde: 11/03/2007 16:47:10
Mensagens: 80
Offline

Não entendi direito o que vc quer, com a linha abaixo, mas se for
o que eu imagino que seja, tente com ${link} que deverá funcionar.



NOTA: Se estiver usando o mapeamentro padrão do servlet
do Struts, acho que esta faltando um .do nesse seu /cadastrarCliente
fabiozoroastro
GUJ Master
[Avatar]

Membro desde: 15/05/2006 16:23:01
Mensagens: 1262
Offline

Vc está usando struts1.x ou struts2.x?
Bom, na MINHA opinião, o Tiles é mais poderoso que o velocity, mas vale lembrar que conheço o velocity mto pouco.

[]'s

..."Apenas sorria!"

Twitter

Blog

welldasilva
Entusiasta Java
[Avatar]

Membro desde: 03/04/2007 19:10:38
Mensagens: 15
Offline

tgpadua,

Com o código abaixo:
Code:
<form action="$link.setAction('/cadastrarCliente')" method="post">

eu quero passar o conteúdo de um formulário que viria logo abaixo para a
tgpadua
JavaBaby

Membro desde: 11/03/2007 16:47:10
Mensagens: 80
Offline

welldasilva wrote:tgpadua,

Com o código abaixo:
Code:
<form action="$link.setAction('/cadastrarCliente')" method="post">

eu quero passar o conteúdo de um formulário que viria logo abaixo para a


para a...?

Escreva em HTML o que vc deseja que o Velocity gere que da fica mais
fácil pra entender e te ajudar
welldasilva
Entusiasta Java
[Avatar]

Membro desde: 03/04/2007 19:10:38
Mensagens: 15
Offline

tgpadua,
Eu quero o seguinte:
- Acesso o index.vm que possui link para a view cadastro.vm daí fiz o seguinte:

<a href="$link.action" target="cadastro.do">Cadastrar</a>
mas não funcionou.
Só funciona com:
<a href="/ibm/cadastro.vm">Cadastrar</a> ( ou seja html puro)

Esse é o primeiro problema.

O outro é que estando no formulário, que é meu cadastro.vm, preciso direcioná-lo para o struts-config para que o mesmo chame minha actionservlet. Daí fiz o seguinte:

<form action="$link.setAction('/cadastrarCliente')" method="post">

Pois configurei meu formulário para chamar o struts-config através de cadastrarCliente, mas tb não funciona. Parece que não estou conseguindo comunicação com o struts-config, pois o Tomcat diz que o recurso não está disponível.

Respondendo a pergunta do fabiozoroastro :

Não baixei nenhum jar específico do projeto Struts, baixei diretamento os jars do projeto VelocityStruts (velocity-tools 1.3)

OBS.: Não tenho muita experiência em Struts e Velocity, mas no momento estou quebrando a cabeça para trabalhar com Velocity
welldasilva
Entusiasta Java
[Avatar]

Membro desde: 03/04/2007 19:10:38
Mensagens: 15
Offline

tgpadua,

Do jeito que eu mostrei o código não funciona mesmo colocando o .do.

Certamente estou fazendo da maneira errada. Mas não conheço a correta
tgpadua
JavaBaby

Membro desde: 11/03/2007 16:47:10
Mensagens: 80
Offline

Primeiro, sobre o index.vm essa váriavel $link é um objeto
que possui um atributo action com método acessor ? (getAction())

Segundo, vc ta utilizando frames/iframe ? se não tiver não
tem pq utilizar aquele target na tag <a>

Terceiro, vc nunca chama o struts-config, quem le o conteúdo dele
é o Controller para saber pra onde vai mandar sua requisição.
Essa sua expressão: $link.setAction('/cadastrarCliente')
Esta bem esquisita... Se fosse para gerar em HTML vc queria que
fica-se como o seu código ?

<form action="/cadastrarCliente.do" method="post">
welldasilva
Entusiasta Java
[Avatar]

Membro desde: 03/04/2007 19:10:38
Mensagens: 15
Offline

tgpadua,

Em html é o que vc disse:

<form action="/cadastrarCliente.do" method="post">

Mas em velocity é como?

Outra pergunta:

Como eu faço um hyperlink em velocity? Em html eu sei que é o seguinte:

<a href="/ibm/cadastro.vm">Cadastrar</a>

Valeu pela atenção,
tgpadua
JavaBaby

Membro desde: 11/03/2007 16:47:10
Mensagens: 80
Offline

Amigo,

Pelo o que percebi sua dúvida é um tanto quanto conceitual.
Sugiro que vc leia o texto do Rafael Steil que tem na seção de artigos.
O Velocity gera TEXTO ele não possui taglibs nem nada do gênero.
em Velocity escrever um link é a mesma coisa que seria em HTML,
o que muda é que vc pode obter esse valor de um váriavel, ai nesse
caso vc invoca ela chamando por $nomeDaVariavel.
welldasilva
Entusiasta Java
[Avatar]

Membro desde: 03/04/2007 19:10:38
Mensagens: 15
Offline

Pessoal,

Consegui resolver com as dicas que recebi. Obrigado!

tgpadua
JavaBaby

Membro desde: 11/03/2007 16:47:10
Mensagens: 80
Offline

welldasilva,

Uma boa prática aqui no forum é publicar a solução!
Assim outras pessoas com as mesmas dificuldades que lerem
o topic não precisaram repetir as perguntas.

abraços
ceara
Debugger
[Avatar]

Membro desde: 27/05/2005 10:02:01
Mensagens: 60
Localização: Campinas
Offline

Realmente concordo 100% com o tgpadua...

Por exemplo, eu que estou mais ou menos com a mesma dúvida não obtive aqui a solução!!!

Estou começando a ler sobre o Velocity, já pensando em usar a versão nova 1.5.


Abraços
Rafael Ferreira

rafacastanho.wordpress.com
[WWW] [ICQ]
tgpadua
JavaBaby

Membro desde: 11/03/2007 16:47:10
Mensagens: 80
Offline

ceara wrote:Realmente concordo 100% com o tgpadua...

Por exemplo, eu que estou mais ou menos com a mesma dúvida não obtive aqui a solução!!!

Estou começando a ler sobre o Velocity, já pensando em usar a versão nova 1.5.


Abraços
Rafael Ferreira


Rafael,

Se tiver alguma dúvida aconselho a abrir outro topic
pois do tempo que esse foi aberto, não creio que terá
resposta. Ou então envie sua dúvida aqui mesmo

Boa Sorte!
ceara
Debugger
[Avatar]

Membro desde: 27/05/2005 10:02:01
Mensagens: 60
Localização: Campinas
Offline

Bom...

Vou tentar por aqui o que estou em mente:

- Estou 'reformando' um sistema antigamente construído com struts, mas nível básico de programação mesmo.
- O resumo do sistema são relatórios financeiros. Então no sistema tem diversas telas de pedidos de relatórios, onde o usuário seleciona datas, empresas, filiais, etc.
- Eu não quero fazer cada tela dessa, um JSP para cada relatório, um validate para cada relatório.

O que eu quero:
- Fazer um 'core' usando o Velocity que vai me fazer esse meio de campo.

- Eu configuro os campos que cada relatório vai ter, num XML, com todos os relatórios e seus campos obrigatórios etc.

- Chamo o velocity ele vai renderizar a pagina pra mim baseado no XML e no relatório escolhido.

- Via menú pensei em passar na URL mesmo o tipo do relatório, já especificado no XML.

Alguem tem alguma luz?


rafacastanho.wordpress.com
[WWW] [ICQ]
 
Índice dos Fóruns » Ferramentas, Frameworks e Utilitários
Ir para:   
Powered by JForum 2.1.8 © JForum Team