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

Java 使用Struts2创建博客条目时生成动态URL,java,struts2,friendly-url,pretty-urls,wildcard-mapping,Java,Struts2,Friendly Url,Pretty Urls,Wildcard Mapping,我有一个音乐博客,在那里人们可以写自己的文章或评论作为博客条目,它会出现在其他博客条目中 每个博客条目都应该有一个与之关联的URL,类似于: www.myblog.com/blog/blog条目标题 如何使用Struts2实现这一点?我可以在struts.xml文件中动态添加一个条目,或者在xml文件中使用通配符映射,或者类似的东西吗 最好的办法是使用高级通配符映射(还有其他通配符用法,还有@AleksandrM评论的Struts2 Rest插件,但最符合您需要的是AWM) 您可以阅读及其链接的

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

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

www.myblog.com/blog/blog条目标题


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

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

您可以阅读及其链接的两个答案中的,而不是官方文件(也链接)

这样说,考虑到一个URL恰好与你所发布的URL缺少一个人工密钥,并使用文章的名称作为关键字。您必须准备好处理重复标题、处理特殊字符转换和保存等。
使用类似StackOverflow URL的键会更容易(即使不那么优雅)

以我的个人资料为例:

你可以把它改成

它仍然会打开我的个人资料。键为
1654265
,说明部分完全被StackOverflow忽略,但很重要,因为它允许您在浏览器地址栏和历史记录中按名称搜索(与页面标题完全相同)

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

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

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


如果使用人工键。

通配符映射或S2 rest插件。
www.myblog.com/123456/title-of-blog-entry