VRaptor 3.0.1 lançado

10 respostas
Lucas_Cavalcanti

Olá pessoal,

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
<context-param>
    <param-name>br.com.caelum.vraptor.encoding</param-name>
    <param-value>UTF-8</param-value>
</context-param>
  • nova view: Referer view:
result.use(Results.referer()).redirect();
  validator.onErrorUse(Results.referer()).forward();
  • Escopo Flash:

    result.include("umaChave", umObjeto);
      result.use(logic()).redirectTo(UmController.class).umMetodo();
    

    objetos incluidos no Result vão sobreviver até a próxima requisição quando acontecer um redirect.

  • @Path suporta vários valores (String -> String[]) ex @Path({"/client", “/Client”})

  • Result.include agora retorna this para uma interface fluente (result.include(…).include(…).use(…))

  • Melhor mensagem de exception quando não encontra o Http method requisitado

  • File Download registra automaticamente content-length.

  • 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.

Você pode fazer o download em: http://code.google.com/p/vraptor3/downloads/list

[]'s

10 Respostas

Lavieri

opa!! boas noticias …já estou baixando aqui =x

Lucas_Cavalcanti

O vraptor-3.0.1.zip ainda vem com a documentação em html e pdf, e o javadoc!

Lavieri

lucascs:

  • nova view: Referer view:
result.use(Results.referer()).redirect();
  validator.onErrorUse(Results.referer()).forward();

[]'s

teria como explicar essa view ?

funcionamento, pra que serve como usar ?? é que realmente não saquei qual é a desse referer =x

edit: => já encontrei a resposta => http://vraptor.caelum.com.br/cookbook/usando-o-header-referer-para-fazer-redirecionamentos/

Lucas_Cavalcanti

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

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

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 =)

Criado 22 de outubro de 2009
Ultima resposta 23 de out. de 2009
Respostas 10
Participantes 4