创建没有windowid参数的JSF URL

时间:2012-03-30 02:02:38

标签: jsf-2 cdi codi

在我的JSF网络应用程序中,我想为用户创建一个用于书签或复制的URL。这部分很简单,就像这样:

<h:link value="Permanent Link"
        outcome="/showStuff"> 
    <f:param name="recID" value="#{bean.recordID}" />
</h:link>

虽然该链接中包含所需的参数(recID),但它还具有JSF Servlet生成的 windowid 参数。有没有方便的方法来生成没有 windowid 参数的URL?或者这有什么不同?

(这是Mojarra)

1 个答案:

答案 0 :(得分:5)

您可以使用URLRewriteFilter框架删除WindowId,例如OCPsoft Rewrite URLRewriteFilter

使用单个配置规则执行此类操作应该相当简单。如果这条规则过于严格或过于笼统,你显然可以摆弄。

.defineRule()
.when(Direction.isOutbound().and(
        URL.matches("{prefix}{windowId}{suffix}")
         .where("windowId").matches("windowId=[^&]+")))
.perform(Substitute.with("{prefix}{suffix}"))

查看重写网站。这很容易设置。 http://ocpsoft.org/rewrite/