Criacao de indexController no Blank Projet do Vraptor

5 respostas
R

Não consigo mudar a página padrão do Blank project, quando aponto o método index para o @Path("/"), sempre recebo o erro de url duplicada. Mas não tenho nenhum outro método com este mesmo path.

Alguém tem alguma dica ???

package br.estacio.hermes.controller;

import br.com.caelum.vraptor.Path;

import br.com.caelum.vraptor.Resource;

import br.com.caelum.vraptor.Result;
<a class="mention" href="/u/resource">@Resource</a>

public class IndexController {

private final Result result;
public IndexController(Result result) {
	this.result = result;
}

@Path("/")
public void index() {
	result.redirectTo(MainController.class).main();
}

}

Erro:

java.lang.IllegalStateException: There are two rules that matches the uri ‘/’ with method GET: [[FixedMethodStrategy: /                                                                 IndexController.index()                                                ALL], [FixedMethodStrategy: /                                                                 IndexController.index()                                                ALL]] with same priority. Consider using <a class="mention" href="/u/path">@Path</a> priority attribute.

br.com.caelum.vraptor.http.route.DefaultRouter.checkIfThereIsAnotherRoute(DefaultRouter.java:96)

br.com.caelum.vraptor.http.route.DefaultRouter.parse(DefaultRouter.java:87)

br.com.caelum.vraptor.http.DefaultResourceTranslator.translate(DefaultResourceTranslator.java:59)

br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:66)

br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)

br.com.caelum.vraptor.core.EnhancedRequestExecution.execute(EnhancedRequestExecution.java:23)

br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:92)

br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:58)

br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:89)

5 Respostas

R

Consegui por conta própria galera, apenas, mudei o path.

<a class="mention" href="/u/path">@Path</a>(value="/",priority=1) <a class="mention" href="/u/get">@Get</a>

public void index() {

result.redirectTo(MainController.class).main();

}
Lucas_Cavalcanti

provavelmente o problema é outro:

vc apagou a IndexController que veio com o blank-project, ou só mudou ele de pacote?

dê um clean no projeto e no servidor, o .class do IndexController original deve estar nas classes compiladas ainda

R

Lucas,
Realmente eu apaguei o pacote que continha o IndexController no blank project. Mas o clean, não resolveu. O que realmente está dando jeito é o priority=1 no @Path.

Lucas_Cavalcanti

vc registrou o packages no web.xml para o pacote base da sua aplicação? se sim, tente tirá-lo

R

Lucas,
Não está registrado não, até registrei para testar. Mas esse é um problema que não está mais me incomodando. Um grande abraço e vlw mesmo pela ajuda.

<?xml version="1.0" encoding="UTF-8"?>


Hermes

javax.servlet.jsp.jstl.fmt.localizationContext
messages


br.com.caelum.vraptor.packages
br.com.caelum.vraptor.util.hibernate



vraptor
br.com.caelum.vraptor.VRaptor


vraptor
/*
FORWARD
REQUEST

Criado 3 de maio de 2011
Ultima resposta 3 de mai. de 2011
Respostas 5
Participantes 2