4

当我的应用程序的用户创建一个新页面时,她被要求输入“页面标题”以及其他详细信息。(例如她输入:“梅根的页面标题”)应用程序将实例保存到数据库中。

现在我的要求是,当任何人尝试访问该页面时,URL 应该是:

www.websitename.com/pages/page-title-by-megan

我知道使用 Spring MVC,我可以通过使用以下内容轻松获得“page-title-by-megan”部分:

@RequestMapping("/pages/{pageTitle}")
public String getPage(@PathVariable String pageTitle, Model model) {
    List<Pages> pages = pageService.getPages(pageTitle);
    model.addAttribute("pages", pages);
    return "pages";
}

但问题是

Q1:要检索相关页面,我需要将pageTitle“page-title-by-megan”与实际数据一起存储在数据库中吗?这是唯一的技巧吗?还是有更好的方法?

Q2:如果这是唯一的方法,如何从“Page Title by Megan”有效地形成一个像“page-title-by-megan”这样的字符串?再次,有更好的方法吗?

请指导。我将非常感谢。

4

1 回答 1

0

Q1: 我认为唯一的方法是按照您所说的将 url 存储到数据库中,并具有唯一的限制。

Q2: 假设pageTitle包含用户输入的标题,提交完成后在控制器中使用它:

String transformedPageTitle = pageTitle.toLowerCase().replace(" ", "-");
于 2012-09-01T10:20:03.253 回答