【问题标题】:@dbcolumn in session.evaluate in xpages会话中的@dbcolumn。xpages 中的评估
【发布时间】:2012-04-01 07:20:23
【问题描述】:

我正在尝试为列表框执行此代码,但它不工作,这给了我错误 500。如果我直接在列表框中编写 @formula 它工作正常。

return session.evaluate("@DbColumn(@DbName(), \"viewName\", 1)").elementAt(0)

但是如果我写下面的代码它工作正常。

return session.evaluate("@Unique").elementAt(0);

我在 Lotus Notes 8.5.3 的 xpages 中工作

【问题讨论】:

    标签: lotus-notes xpages lotus-domino lotus-formula


    【解决方案1】:

    您收到 500er 错误,因为 SSJS 的 @DbColumn 有一个小于“原始”@DbColumn-Version 的参数,如果您使用评估方法,则会执行该参数。 对于 XPages,缓存和类的选项丢失了。

    这是评估语句的语法:

    @DbColumn( class : cache ; server : database ; view ; columnNumber )
    

    这是 XPages 语法:

    @DbColumn( server : database , view , columnNumber );
    

    而且你必须使用原生 Notes @Formula 语法,f.e.使用分号代替逗号。

    【讨论】:

    • 谢谢..但是我怎样才能以文本格式执行这个@dbcolumn?
    • 我不知道我对你的理解是否正确,但如果是这样,你可以这样做:return session.evaluate("@DbColumn(\"\"; @DbName();\ "viewName\"; 1)").elementAt(0)
    【解决方案2】:

    session.evaluate 使用原始 @Formula 语法,而不是 SSJS 语法。

    所以请改用@DbColumn(""; @DbName; "view", column)。

    【讨论】:

    • 琐事:如果是 SSJS 语法,您的第二个示例 - @Unique 也不起作用 - 正确的 SSJS 语法是 @Unique()
    【解决方案3】:

    解决方法如下: 在SSJS中你可以直接编写以下代码...

    @DbColumn(@DbName(),"viewName",1)
    

    如果您想使用 session.Evaluate() 来做同样的事情,那么您可以尝试以下操作。

    //@DbColumn(@DbName(),"viewName",1) --> in SSJS
    //@DbColumn( class : cache ; server : database ; view ; columnNumber ) --> in Formula using Evaluate
    
    var colValues = "@DbColumn(\"\":\"\";" + @DbName() + ";\"viewName\";1)";
    
    print ("colValues[0]" + colValues[0]); // will print @DbColumn( "":""; ServerName ; viewName; 1)
    print ("colValues[1]" + colValues[1]); // will print @DbColumn( "":""; DatabaseName; viewName; 1)
    
    return session.evaluate(colValues[1]) // It will return the expected value in listbox
    

    因为@DbName() 将返回服务器名称和数据库名称。而我们只需要数据库名称。这仅适用于当前服务器。对于不同的服务器,我们需要指定服务器名称。我希望这会有所帮助...!!!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-05
      • 2016-08-19
      • 1970-01-01
      • 2018-03-20
      • 2020-07-30
      • 1970-01-01
      • 2011-03-24
      • 2012-02-13
      相关资源
      最近更新 更多