JavaEE JSF应用程序中的动态URL重写

时间:2018-03-31 18:29:54

标签: java url jsf java-ee url-rewriting

应用程序已部署并正在运行。名为John的用户进入登录页面 - " my-site.com/login.xhtml"并登录。我们从数据库中获取有关它的数据,并且必须将其重定向到主页面应用程序 - " my-site.com/main.xhtml"。同时,在地址栏中,它应该有一个URL,其中包含我们刚从数据库收到的数据(名称),如下所示 - " my-site.com/john"。

有很好的prettyfacesrewrite库可以解决这些问题,但不幸的是,对于重定向,他们需要知道在部署应用程序时要显示的URL(用户名),但是当然,在用户登录之前我们不知道。

请帮我实现这个?

1 个答案:

答案 0 :(得分:0)

您可以按照本教程使用变量模板和查询参数。

https://github.com/ocpsoft/rewrite/blob/master/README.md

从上面链接复制并修改:

return ConfigurationBuilder.begin()
    .defineRule()
    .when(Direction.isInbound().and(Path.matches("/{p}")))
    .perform(Forward.to("/main.xhtml?user={p}"));

让Cdi bean处理用户参数。