2014-10-12 3 views
1

아래 컨트롤러에서 pagina(...), produto(...) 또는 categoria(...)의 방법으로 매핑 된 URL에 액세스하려고 시도하면 오류 404가 표시됩니다. 다른 매핑 중 일부는 문제없이 진행됩니다. 누구나 내가 여기에서 놓친 것을 볼 수 있습니까?오류 404 스프링 컨트롤러에서 매핑 한 부분에 액세스 할 때

@Controller 
public class AcessoController { 
... 
    @RequestMapping(value = "/") 
    public String index(Model model) { 
     model.addAttribute("categorias", lista.categoria()); 
     model.addAttribute("produtos", lista.produto()); 
     model.addAttribute("paginas", lista.pagina()); 
     return "public/index"; 
    } 

    @RequestMapping(value = "/${pagina}") 
    public String pagina(Model model, @PathVariable("pagina") String pagina) { 
     model.addAttribute("pagina", view.pagina(pagina)); 
     model.addAttribute("paginas", lista.pagina()); 
     return "public/pagina"; 
    } 

    @RequestMapping(value = "/produto/${id}") 
    public String produto(Model model, @PathVariable("id") String id) { 
     model.addAttribute("produto", view.produto(Integer.valueOf(id).intValue())); 
     model.addAttribute("paginas", lista.pagina()); 
     return "public/produto"; 
    } 

    @RequestMapping(value = "/categoria/${nome}") 
    public String categoria(Model model, @PathVariable("nome") String nome) { 
     model.addAttribute("categoria", view.categoria(nome)); 
     model.addAttribute("produtos", lista.produto()); 
     model.addAttribute("paginas", lista.pagina()); 
     return "public/pagina"; 
    } 

    @RequestMapping(value = "/signin") 
    public String signin(Model model) { 
     return "acesso/signin"; 
    } 

    @RequestMapping(value = "/signup") 
    public String signup(Model model) { 
     return "acesso/signup"; 
    } 
... 
} 

답변

1

문제는 매핑에서 경로 변수를 정의한 사람에게 있습니다.

에 코드를 변경 : 나는

+0

확인, 내가 속하지 않는'$'를 넣어 지금은 볼 –

+0

이 정확히 :(매핑에 $을 제거한

@RequestMapping(value = "/{pagina}") public String pagina(Model model, @PathVariable("pagina") String pagina) { model.addAttribute("pagina", view.pagina(pagina)); model.addAttribute("paginas", lista.pagina()); return "public/pagina"; } @RequestMapping(value = "/produto/{id}") public String produto(Model model, @PathVariable("id") String id) { model.addAttribute("produto", view.produto(Integer.valueOf(id).intValue())); model.addAttribute("paginas", lista.pagina()); return "public/produto"; } @RequestMapping(value = "/categoria/{nome}") public String categoria(Model model, @PathVariable("nome") String nome) { model.addAttribute("categoria", view.categoria(nome)); model.addAttribute("produtos", lista.produto()); model.addAttribute("paginas", lista.pagina()); return "public/pagina"; } 

주의! 그것을 제거하면 문제가 사라집니다! – geoand

관련 문제