VRaptor direcionar para pasta especifica de JSP

3 respostas
H

Pessoal,

Se eu tiver o código abaixo:

@Resource
public class UsuarioController extends BigTemporadaObject {
	
	Result result;
	
	public UsuarioController(Result result) {
		this.result = result;
	}

	public void listaUsuario(){
		
		//Rotina para Busca usuarios
		
	}
}

O JSP WEB-INF/jsp/usuario/listaUsuario.jsp será exibido, porém meu site se divide em dois: administração e site. gostaria que neste caso um jsp dentro de uma pasta /adm fosse aberta, dessa forma: WEB-INF/jsp/adm/usuario/listaUsuario.jsp

e as páginas do site estivessem dentro de uma pasta /site

Como faço para configurar isso no VRaptor ?

Abraços

3 Respostas

G

Você pode fazer o redirect manual via result.forwardTo("/WEB-INF/jsp/admin/blah.jsp") ou então sobrescrever a convenção padrão:

@Component
public class CustomPathResolver
    implements PathResolver {

    @Override
    public String pathFor(ResourceMethod method) {
        // sua convenção aqui
        return null;
    }
}
Lucas_Cavalcanti

vc precisa sobrescrever o PathResolver como o garcia-jj falou… esse é o jeito mais fácil:

@Component
@ApplicationScoped
public class CustomPathResolver extends DefaultPathResolver {
    //delegate constructor

    @Override
    public String pathFor(ResourceMethod method) {
          String path = super.pathFor(method);

          if (pacote do method contém admin, ou qqer outra condicao equivalente) {
                return path.replaceFirst(getPrefix(), getPrefix() + "/adm";
          }
          return path;

    }

}
H

Show de bola !

Valeu

Criado 14 de agosto de 2010
Ultima resposta 16 de ago. de 2010
Respostas 3
Participantes 3