Primeiramente gostaríamos de agradecer toda a ajuda da comunidade, ao pedir sugestões, criticar e indicar bugs. Agradecimentos em especial ao Lucastex, Garcia-JJ, Tomaz Lavieri e Lagaffe.
Menos de 20 dias da primeira release, e quase 2000 downloads depois, estamos lançando o VRaptor 3.0.1, com vários bugs resolvidos e novas features:
paranamer atualizado para versão 1.5 (Atualize seu jar!)
jars separados em opcional e obrigatório no vraptor-core
dependências estão explicadas na pasta libs/mandatory/dependencies.txt e na libs/optional/dependencies.txt
possibilidade de setar o character encoding da aplicação no web.xml através do context-param br.com.caelum.vraptor.encoding
Quando existe uma rota que consegue tratar a URI da requisição, mas que não aceita o HTTP method da requisição,
o VRaptor vai retornar um HTTP status code 405 -> Method Not Allowed, ao invés do 404.
Teoricamente, quando você clica num link ou submete um formulário, o browser manda junto com a requisição
um Header chamado Referer, que contém a URI da página que disparou a requisição…
se eu estou em: http://localhost:8080/minhaapp/form, e submeto o formulário com action "/minhaapp/add"
o browser vai fazer uma requisição do tipo:
POST http://localhost:8080/minhaapp/add
Referer: http://localhost:8080/minhaapp/form
....
A idéia é muito legal, e pode ser bem útil… Só que esse header não é obrigatório, e não funciona se você estiver acessando
a sua aplicação via alguns tipos de proxy, por exemplo.
G
garcia-jj
Mas que beleza, hein? Essa versão tem muita coisa boa, acrescentando ao que já existia e que já estava muito bom.
O @Path com multiplos valores era um dos grandes desejos meus, que bom que foi implementado.
Quanto ao referer, essa header indica “quem te trouxe até aqui”. Basicamente dá para dizer que é a página anterior. Porém ela é nula quando o usuário fez acesso direto na URL. Essa header pode ser muito útil para fazer algum redirect para a tela anterior, ou coisa assim.
Só fiquei com uma dúvida: vraptor3 é compilado para Java 5 ou Java 6?
Lucas, fico as ordens para o que for necessário. Porém meu nick é garcia-jj, hehehe.
Abraços
Lavieri
Redirecionar para o referer é legal, mas me fala uma coisa, se eu apenas quiser saber de onde veio ?? guardar isso por algum motivo ? ou tratar esse caminho de chegada, por exemplo para filtrar algo … tem como pegar esse valor ? e se tem como fazer ?
thiago.correa
garcia-jj:
Mas que beleza, hein? Essa versão tem muita coisa boa, acrescentando ao que já existia e que já estava muito bom.
O @Path com multiplos valores era um dos grandes desejos meus, que bom que foi implementado.
Quanto ao referer, essa header indica “quem te trouxe até aqui”. Basicamente dá para dizer que é a página anterior. Porém ela é nula quando o usuário fez acesso direto na URL. Essa header pode ser muito útil para fazer algum redirect para a tela anterior, ou coisa assim.
Só fiquei com uma dúvida: vraptor3 é compilado para Java 5 ou Java 6?
Lucas, fico as ordens para o que for necessário. Porém meu nick é garcia-jj, hehehe.
Abraços
Baita puxa saco!!! :lol:
G
garcia-jj
Nesse caso você precisa injetar o HttpServletRequest e pegar via request.getHeader(“referer”).
Lavieri
falta de graça ter que puxar direto da API Http =/ …
Lucas_Cavalcanti
Então… isso de pegar o referer e guardar e coisas do tipo é algo que você não usaria no Controller…
isso tem bem mais cara de Interceptor, pois é uma coisa de infraestrutura/logging/auditoria…
Nos Interceptors é razoavel receber um HttpRequest/Response… só não é legal fazer isso no Controller
mas de qualquer forma, se você tiver uma idéia de usabilidade isso é só falar que a gente vê se implementa =)