【问题标题】:Wicket: mounting clean URLs dynamicallyWicket:动态安装干净的 URL
【发布时间】:2023-03-29 18:27:02
【问题描述】:

我正在开发一个关于艺术家的网站,我希望有这样的干净 URL:

http://www.example.com/artist/artistName

其中artistName 是在CMS 中输入的值。目前我有这种结构的网址:

http://www.example.com/artist?0&name=artistName

这就是我所做的:

mount(new MountedMapper("/artist", ArtistPage.class));添加到Web应用程序的init()方法并添加BookmarkablePageLink

BookmarkablePageLink link = new BookmarkablePageLink("link", ArtistPage.class, params);

如何制作像我帖子顶部示例中的漂亮和干净的 URL?

【问题讨论】:

    标签: java wicket


    【解决方案1】:

    ?0 部分是检票口页面版本号。它由 wicket 在内部使用,如果您的页面是有状态的,则不容易删除。

    你可以使用类似于

    的东西来清理url的其余部分
    mountPage("/artist/${artistName}", ArtistPage.class);
    

    这会将参数artistName 编码到url中。

    【讨论】:

      【解决方案2】:

      Wicket 使用 id 来识别请求的页面和请求页面的历史记录,包括页面和模型版本。

      如果您的页面是有状态的,那么关闭该版本系统不是一个好主意,您可能破坏了任何东西。见问题delete version number in url

      如果您的页面是无状态的,您可以覆盖页面的无状态提示以通知检票口,并且 id 不包含在 URL 中(页面也不重定向)。请参阅有状态和无状态页面上的示例http://www.wicket-library.com/wicket-examples-6.0.x/stateless/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-07-28
        • 1970-01-01
        • 2013-04-24
        • 1970-01-01
        相关资源
        最近更新 更多