Jsf 如何在h:outputLink中将基于时间戳的动态参数传递给URL?

Jsf 如何在h:outputLink中将基于时间戳的动态参数传递给URL?,jsf,primefaces,jsf-2,Jsf,Primefaces,Jsf 2,我需要从JSF页面调用第三方应用程序,它将返回HTML内容。然后,HTML内容将显示在弹出窗口上 第三方URL是一个GET服务,它需要一个基于当前unix时间戳的密钥。因此,我只能在用户单击超链接时生成完整的请求URL,否则密钥已经无效(密钥仅在5分钟内有效) 我尝试了下面的选项,但在这种情况下,当呈现页面时会生成键,如果用户在5分钟后单击超链接,则链接无效 另外,由于这是身份验证密钥生成过程,出于安全原因,我不想在javascript中这样做 <h:outputLink onclick=

我需要从JSF页面调用第三方应用程序,它将返回HTML内容。然后,HTML内容将显示在弹出窗口上

第三方URL是一个GET服务,它需要一个基于当前unix时间戳的密钥。因此,我只能在用户单击超链接时生成完整的请求URL,否则密钥已经无效(密钥仅在5分钟内有效)

我尝试了下面的选项,但在这种情况下,当呈现页面时会生成键,如果用户在5分钟后单击超链接,则链接无效

另外,由于这是身份验证密钥生成过程,出于安全原因,我不想在javascript中这样做

<h:outputLink onclick="window.open('#{testMBean.thirdpartylink}','ThirdParty','menubar=no, status=no, scrollbars=yes, resizable=yes, toolbar=no, location=yes'); return false; ">
link number
</h:outputLink>

链接号
我也试过了,但还是一样

<h:outputLink onclick="#{indexBean.JSPopup()}">#{indexBean.linkName}</h:outputLink>

public String JSPopup() {
    return "javascript:void window.open('" + getRedirectLink() + "','" + linkName + "','width=700,height=500,toolbar=0,menubar=0,location=0,status=0,scrollbars=0,resizable=1,left=0,top=0');return false;";
}
#{indexBean.linkName}
公共字符串JSPopup(){
返回“javascript:void window.open”(“+getRedirectLink()+”,“+linkName+”,“width=700,height=500,toolbar=0,menubar=0,location=0,status=0,scrollbars=0,Resizeable=1,left=0,top=0”);返回false;“;
}

您能否提供一些输入,如何实现这一点?

这将调用实际生成的url:

    <h:panelGroup id="linkBlk">
        <script type="text/javascript">
            function openIt() {
                var url='#{indexBean.theLink}';
                window.open(url);
            }
        </script>
    </h:panelGroup>
    <p:commandButton value="get PopUp" ajax="true" partialSubmit="true" process="@this" update="linkBlk" actionListener="#{indexBean.buildLink()}" oncomplete="openIt()"/>

函数openIt(){
var url='#{indexBean.theLink}';
窗口打开(url);
}

感谢您的输入,我将尝试这种方法。