1

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

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

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

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

4

1 回答 1

3

最好的方法是使用高级通配符映射(还有其他通配符用法,还有@AleksandrM 评论的 Struts2 Rest 插件,但最接近您的需求的是 AWM)。

您可以阅读此答案 和它链接的两个答案中的详细信息,而不是官方文档(也链接)。

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

以我的个人资料为例:

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

你可以把它改成

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

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

您不记得 URL 或打开页面的日期,但是在您打开页面一次后,如果您记得其 URL 中的一个单词,您可以进入浏览器的地址栏并输入它以立即检索页面(例如,输入“Ligios”您可以检索页面)。

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

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

或者

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

如果使用人工密钥。

于 2015-11-11T14:53:56.427 回答