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?
você também pode usar
result.use(SuaView.class).seuMetodoQueRenderizaAView();
SuaView.class tem que implementar a interface View.