使用 Struts2 创建博客条目时生成动态 URL

Generating dynamic URL on creation of a blog entry using Struts2

我有一个音乐博客,人们可以在其中撰写自己的文章或评论作为博客条目,它会显示在其他博客条目中。

每个博客条目都应该有一个与之关联的 URL,类似于:

www.myblog.com/blog/title-of-blog-entry

我如何使用 Struts2 实现此目的?我可以在 struts.xml 文件中动态添加条目或在 xml 文件中使用通配符映射,或类似的东西吗?

最好的方法是使用 Advanced Wildcard Mapppings(还有其他通配符用法,以及 @AleksandrM 评论的 Struts2 Rest 插件,但最接近您需要的是 AWM)。

你可以阅读 details in this answer 和它链接的两个答案,除了官方文档(也有链接)。

就是说,考虑到 URL 完全 就像您发布的那样缺少人工密钥,并且使用文章名称作为密钥.您必须准备好处理重复的标题、处理特殊字符的转换和保存等等。
拥有像 Whosebug URLs 这样的密钥会更容易(即使不那么优雅)。

以我的个人资料为例:

https://whosebug.com/users/1654265/andrea-ligios

你可以把它改成

https://whosebug.com/users/1654265/chuck-norris

它仍然会打开我的个人资料。关键是 1654265,Whosebug 完全忽略了描述部分,但它很重要,因为它允许您 在浏览器中按名称搜索 地址栏 历史(与页面的标题一模一样)

您不记得 URL 或打开页面的日期,但在打开页面一次后,如果您记得其中的一个单词 URL, 可以在浏览器的地址栏输入立即取回页面(例如输入"Ligios"可以取回页面)。

最后的观察:如果您将应用程序安装在根上下文中,则不必在 URL 中也包含 blog 部分。那么你可以:

www.myblog.com/title-of-blog-entry

www.myblog.com/123456/title-of-blog-entry

如果使用人工密钥。