创建没有windowid参数的JSF URL

Ala*_*ect 3 cdi jsf-2 codi

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

<h:link value="Permanent Link"
        outcome="/showStuff"> 
    <f:param name="recID" value="#{bean.recordID}" />
</h:link>
Run Code Online (Sandbox Code Playgroud)

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

(这是Mojarra)

Lin*_*oln 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}"))
Run Code Online (Sandbox Code Playgroud)

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