使用 Struts2 在创建博客条目时生成动态 URL
Posted
技术标签:
【中文标题】使用 Struts2 在创建博客条目时生成动态 URL【英文标题】:Generating dynamic URL on creation of a blog entry using Struts2 【发布时间】:2016-02-12 15:55:40 【问题描述】:我有一个音乐博客,人们可以在其中撰写自己的文章或评论作为博客条目,它会显示在其他博客条目中。
每个博客条目都应该有一个与之关联的 URL,类似于:
www.myblog.com/blog/title-of-blog-entry
如何使用 Struts2 实现这一点?我可以在 struts.xml 文件中动态添加一个条目或在 xml 文件中使用通配符映射,或者类似的东西吗?
【问题讨论】:
通配符映射或 S2 REST 插件。 【参考方案1】:最好的办法是使用高级通配符映射(还有其他通配符用法,还有@AleksandrM 评论的 Struts2 Rest 插件,但最接近您需要的是 AWM)。
您可以阅读details in this answer 以及由它链接的两个答案,而不是官方文档(也链接)。
也就是说,请考虑 完全 与您发布的 URL 类似的 URL 缺少人工键,并且使用文章名称作为键。您必须准备好处理重复标题、处理特殊字符转换和保存等。 拥有像 *** URL 这样的键会更容易(即使不太优雅)。
以我的个人资料为例:
https://***.com/users/1654265/andrea-ligios
你可以改成
https://***.com/users/1654265/chuck-norris
它仍然会打开我的个人资料。关键是1654265
,*** 完全忽略了描述性部分,但它很重要,因为它允许您在浏览器中按名称搜索地址栏和历史记录(与页面的标题一模一样)
您不记得 URL 或打开页面的日期,但是在您打开页面一次后,如果您记得其 URL 中的一个单词,您可以进入您的浏览器并输入它以立即检索页面(例如输入“Ligios”您可以检索该页面)。
最后的观察:如果您将应用程序安装在根上下文中,则不必在 URL 中也包含 blog
部分。那么你可以:
www.myblog.com/title-of-blog-entry
或
www.myblog.com/123456/title-of-blog-entry
如果使用人工密钥。
【讨论】:
以上是关于使用 Struts2 在创建博客条目时生成动态 URL的主要内容,如果未能解决你的问题,请参考以下文章