在下面的控制器,wheh我尝试通过访问方法映射一个URL pagina(...)
,produto(...)
或者categoria(...)
,我得到一个错误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";
}
...
}
问题出在谁在映射中定义了路径变量。
将您的代码更改为:
@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";
}
请注意,我已$
在映射中删除
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句