Views no vraptor

Alguém sabe me dizer se existe algum mecanismo (e não vale o redirect) para um controller escolher dinâmicamente qual o arquivo de view deve ser usado?

Se o que vai mudar é o formato da view, dá pra você usar o parâmetro _format na requisição ou o header Accepts:

_format = json => vai renderizar a view /WEB-INF/jsp/umController/umaLogica.json.jsp
_format = abc => vai renderizar a view /WEB-INF/jsp/umController/umaLogica.abc.jsp

se você precisa fazer alguma decisão de qual view vai ser renderizada, você pode usar o método:

result.use(Results.page()).forward(“caminho/da/minha/view”);

(result vem do construtor com o tipo br.com.caelum.vraptor.Result)

isso resolve? senão como é esse dinamicamente, tem como explicar melhor?

@galmeida

você também pode usar

result.use(SuaView.class).seuMetodoQueRenderizaAView();

SuaView.class tem que implementar a interface View.

@lucascs, @jonasabreu

Obrigado, o result.use() era exatamente o que eu procurava.