如何将面包屑添加到Spring MVC的所有页面?我想这是一个很好的问题,因为面包屑现在非常流行,而且可能是许多其他人的问题。
我发现这个solution正在使用dummiesmind.breadcrumb.springmvc.annotations,在stackoverflow上还有一个question但是除了找到类似的解决方案之外我无法学到很多东西我找到了。另一种解决方案是使用JavaScript的this one。
有人对我提到的那些人有更好的选择吗?
@Link(label="Sample Link", family="controllerFamily", parent="");
@RequestMapping(value = "sample.do", method=RequestMethod.GET);
public ModelAndView sampleMethod(HttpSession session){...}
答案 0 :(得分:2)
您用什么来显示您的网页? JSP? Thymeleaf?
您指向的链接似乎是一个不错的选择,或者至少您可以基于此构建适合您的自定义内容。使用注释可以保持代码清洁,但是您需要确保将它们添加到任何地方。
您可以使用抽象控制器来定义为所有页面创建ModelAndView
对象的方法。您可以通过以下方式添加面包屑:
protected ModelAndView createModelAndView(String pageName, BreadCrumb breadCrumb) {
ModelAndView modelAndView = new ModelAndView(pageName);
modelAndView.addObject("breadCrumb", breadCrumb);
return modelAndView;
}
当然,您需要在实施中每次都调用该方法。
这样做的一个用法是将您的请求url作为参数传递并解析它以通过将文本与路径的每个部分相关联来构建面包屑(使用当前本地来对其进行转换)。所以例如“/ admin / user / list”会给你Home>>管理>>用户管理>>用户列表。这应该很容易建立。