Boa tarde,
Gostaria de saber se é possível configurar apenas o nome da view que está na mesma pasta que será renderizada na action.
Atualmente estou usando e funciona:
result.use(Results.page()).forwardTo("/WEB-INF/jsp/pastaDaView/nomeDaAction.jsp");
Quero informar apenas o nomeDaAction.jsp, para permitir usar a mesma view em várias actions sem ter que sobrescreve-la e não precisando passar o caminho completo da pasta.
result.use(Results.page()).forwardTo("nomeDaAction.jsp");
Se não for possível, favor informar uma forma mais adequada de fazer isto.
Se essa sua nomeDaAction.jsp tiver um método no controller, você pode fazer assim:
result.of(Controller.class).nomeDaAction();
É muito mais aconselhável você usar os métodos ao invés da URL. Pois quando a URL mudar, você não vai ver o sistema dar pau. Quando a assinatura do método mudar, o sistema nem compila.
Rafael,
Neste caso eu quero apenas usar a view da outra action, pois se eu redirecoinar ele vai executar a logica que está lá, ou não?
Além de que as actions possuem assinaturas diferentes.
Na verdade o que eu quero é montar um paginador, entretanto a função linkTo não encontra corretamente o método se ouver dois métodos com o mesmo nome sobrescritos, ou usar duas routes no mesmo método.
public void index() { }
public void index(page, limit){ }
ou
@Get({"/", "/page/1/limit/10")
public void index(page, limit){ }
Assim criei dois métodos que funciona, mas tem que ter duas views diferentes com o mesmo conteúdo.
Para não fazer isso quero no método paginado chamar a view do não paginado e outros casos parecidos.
Não sei se fui claro.
Sim. Faça exatamente aquilo que eu te mostrei.
Existem 3 tipos de redirects:
result.redirectTo… -> Executa a action, redireciona para a página e muda a url no browser do usuário para a do método redirecionado.
result.forwardTo… -> Executa a action, redireciona para a página e NÃO muda a url no browser do usuário para a do método redirecionado.
result.of… -> NÃO executa a action, redireciona para a página e NÃO muda a url no browser do usuário para a do método redirecionado.
Na verdade testei e ele não executa a lógica da outra action.
Vlw a dica Rafael.
Ajudou muito.
Isso mesmo!
foi o que eu disse com isso aqui:
NÃO executa a action