测试 XPages 中是否存在用户/系统 DSN

Test the existence of User/System DSN in XPages

本文关键字:系统 DSN 用户 存在 XPages 是否 测试      更新时间:2023-09-26

在我的xpage中,我有一个编辑框供用户输入ODBC数据源的名称。然后 onBlur 我想测试用户输入的值是否有效/存在于 ODBC 列表中。如果出现错误/异常,我希望错误显示在 xpage 中的"显示错误"控件中。我不知道从哪里开始。以前从未做过这样的事情(即使在LotusScript中)。请问有人开导我?

我不会在onBlur事件中这样做。您的用户可能想要更改其他内容,而您通过缓慢的操作击中了她。你应该做什么:

  • 有一个测试按钮
  • "保存"按钮变灰,直到测试成功

无论如何:看看扩展库。它内置了RDBMS连接功能(使用它,不要重新发明轮子)。从那里复制代码。

好的,显然这就是我需要的。也许我应该提高我提问的技巧。感谢那些提供帮助的人。

参考这里,我创建了3个字段/编辑框:"ODBC/DSN名称","用户名","密码"。对于"ODBC/DSN 名称",我放置了一个 xp:validateExpression,并为表达式部分放置了以下代码:

var odbc:string=getComponent("inputText1").getValueAsString();
var url:string="jdbc:odbc:"+odbc;
var usr:string=getComponent("inputText2").getValueAsString();
var pwd:string=getComponent("inputText3").getValueAsString();
try {
    java.lang.Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    var con:java.sql.Connection=java.sql.DriverManager.getConnection(url,usr,pwd);
    return true;
} catch (e) {
    return false;
}

不确定我是否以正确的方式使用了 xp:validateExpression 或 xpages 本身,但这就是客户的要求,现在似乎正在工作。

最好在需要验证的项目的onchange事件中编写。因为我们通常对该事件进行部分刷新,对吗?因此,它可以阻止项目输入值。

只需尝试将其写入 onchange 事件即可。但我的观点是,我曾经在Jquery中编写非安全项目的验证。因为这很容易,而且前景很好。