Lucas, eu implementei o meu PathResolver
@Component
public class ModuloPathResolver extends DefaultPathResolver{
private FormatResolver resolver;
public ModuloPathResolver(FormatResolver resolver) {
super(resolver);
this.resolver = resolver;
}
@Override
public String pathFor(ResourceMethod method) {
String format = this.resolver.getAcceptFormat();
String suffix = "";
if (format != null && !format.equals("html")) {
suffix = "." + format;
}
String name = method.getResource().getType().getSimpleName();
String folderName = extractControllerFromName(name);
return this.getPrefixo(folderName) + folderName + "/" + method.getMethod().getName() + suffix
+ "."+getExtension();
}
private String getPrefixo(String controller) {
return "/WEB-INF/jsp/" + this.getModulo(controller);
}
private String getModulo(String controller) {
String modulo = "";
if( controller.contains("frete") ){
modulo = "operacional/";
}
return modulo;
}
}
Mas, quando tento acessar /sistema/operacional/frete ele não procura no lugar correto, ou não acha o controller, não sei.
No log normalmente aparece assim, quando acesso uma outra url qualquer do sistema
16:28:20,721 DEBUG [ToInstantiateInterceptorHandler] Invoking interceptor ForwardToDefaultViewInterceptor
16:28:20,721 DEBUG [ForwardToDefaultViewInterceptor] forwarding to the dafault page for this logic
16:28:20,739 DEBUG [DefaultPageResult ] forwarding to /WEB-INF/jsp/funcionario/list.jsp
16:28:20,741 DEBUG [DefaultStaticContentHandler] Deferring request to container: /sistema/WEB-INF/jsp/funcionario/list.jsp
16:28:20,814 DEBUG [VRaptor ] VRaptor ended the request
Mas quando acesso a url que estou tentando “filtrar”, aparece assim
16:29:00,026 DEBUG [VRaptor ] VRaptor received a new request
16:29:00,056 DEBUG [ToInstantiateInterceptorHandler] Invoking interceptor ResourceLookupInterceptor
16:29:00,056 DEBUG [DefaultResourceTranslator] trying to access /operacional/frete
16:29:00,057 DEBUG [VRaptor ] VRaptor ended the request
Preciso fazer mais alguma configuração?
Obrigado!