Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用javascript计算的xpages href_Javascript_Xpages - Fatal编程技术网

用javascript计算的xpages href

用javascript计算的xpages href,javascript,xpages,Javascript,Xpages,我有一个标记,用于将用户重定向到另一个xpage 其href属性为: <a target="_blank" href="http://serv/MyBase.nsf"> 如何计算href属性以返回concat变量?创建链接控件xp:Link并计算属性值中的URL: <xp:this.value><![CDATA[#{javascript:var server .... }]]></xp:this.value> Knut的方法是正确的,但您的代码

我有一个
标记,用于将用户重定向到另一个xpage

其href属性为:

<a target="_blank" href="http://serv/MyBase.nsf">

如何计算href属性以返回concat变量?

创建链接控件
xp:Link
并计算属性
值中的URL

<xp:this.value><![CDATA[#{javascript:var server .... }]]></xp:this.value>

Knut的方法是正确的,但您的代码不是:-)。对于每个XPages加载(或刷新),您都要执行4次
@DbLookup
。您可以在此处执行一组优化:

  • 在视图本身中组合所需的结果,因此只需要一次查找
  • 在会话(或应用程序范围)中缓存值
  • 类似这样的内容(添加漂亮的错误处理):


    第三列已经在视图中具有连接。这个小片段在每个会话中只进行一次查找。如果对所有用户都是相同的,那么使用applicationScope就更少了。

    您在哪里使用它?这是在一个链接控件中,还是在您自己生成的html中?另外,我相信我看到了一个错误,@DbName缺少括号。如果不键入“@DbName()”,您将不会得到任何值,并且服务器和名称将为空,前提是您一开始没有收到错误。谢谢@Greg。这是一个输入错误。另外,请注意,某些应用程序配置为使用自定义URL,而不是http://服务器/路径URL。虽然我不知道为什么它不应该工作,但是让您的视图已经配置为具有URL,而不必用javascript计算URL,这可能是一个更明智的想法,更不用说潜在的(尽管最小的)性能优化了。
    <xp:this.value><![CDATA[#{javascript:var server .... }]]></xp:this.value>
    
    if (sessionScope.myHref) {
        // Actually do nothing here
    } else {
       sessionScope.myHref = @Unique(@DbColumn(@DbName(), "myVw", 3);
    }
    
    return sessionScope.myHref;