Ola Galera,
por padrao depois de executar um metodo o vraptor redireciona para contextoWeb/WEB-INF/jsp/<nome_do_controller>/<nome_do_metodo>.jsp. é possivel alterar este caminho?
Pois mesmo quando coloco @Path(“novo_caminho”) ele continua redirecionando parar contextoWeb/WEB-INF/jsp/<novo_caminho>/<nome_do_metodo>.jsp.
teria como eu fazer um redirecionamento para contextoWeb/novo_caminho ?
valeu
Oi Alan!
O padrão é esse que você falou. Mas dá pra ir pra outros lugares usando o Result:
result.use(page()).forward("outro.jsp");
Ou você pode alterar o comportamento padrão do vraptor. Da forma como o Sérgio indicou você tem que dizer a cada método para onde quer redirecionar. No meu caso eu uso JSPX, e meus arquivos ficam em /WEB-INF/jspx/modulo/controller.metodo.jspx. Abaixo meu código, que você pode facilmente adaptar as tuas necessidades.
[code]public class JspxPathResolver
implements PathResolver {
@Override
public String pathFor(ResourceMethod method) {
final Class<?> clazz = method.getResource().getType();
final String clazzName = clazz.getSimpleName();
final Package pkg = clazz.getPackage();
// tiles = /package.controller.path.tiles
final StringBuilder s = new StringBuilder(60);
s.append("/WEB-INF/jspx/");
s.append(StringUtils.substringAfterLast(pkg.getName(), "."));
s.append("/");
s.append(StringUtils.substringBefore(clazzName, "Controller").toLowerCase());
s.append(".");
s.append(method.getMethod().getName().toLowerCase());
s.append(".jspx");
return s.toString();
}
}[/code]
@Path indica qual o URL corresponde ao método informado. Acho que você confundiu as coisas.