标签: xpages-ssjs

XPages - SSJS调用bean

我试图从XPage调用一些Java代码,并试图通过SSJS这样做.试着让一个基本的hello world示例正常工作.理想情况下,java代码的返回可以填充到变量中.

目标:( X页内容)

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
    <xp:label value="#{javascript:helloWorld.anyoneThere}" id="label1"></xp:label>
</xp:view>
Run Code Online (Sandbox Code Playgroud)

打印'哟!' 页面加载时 相反,我得到一个运行时错误,找不到helloWorld.

创建了一个包

package testBean;

public class helloWorld {
    public String anyoneThere(){
        return "Yo!";
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我修改了faces-config文件

<?xml version="1.0" encoding="UTF-8"?>
<faces-config>
    <managed-bean>
        <managed-bean-name>helloWorld</managed-bean-name>
        <managed-bean-class>testBean</managed-bean-class>
        <managed-bean-scope>application</managed-bean-scope>
    </managed-bean>
</faces-config>
Run Code Online (Sandbox Code Playgroud)

不知道我需要做什么来初始化/调用java函数.我见过的一些例子是挂钩到视图或事件,但我正在做的事情的目标代码更可能在beforePageLoad部分中运行.

xpages xpages-ssjs

0
推荐指数
1
解决办法
1737
查看次数

XPages - 在类型选择上填充多个字段

这可能是一个简单的问题,但我现在看不到树木

问题:我有一个预先附加到编辑框的预先输入,该编辑框从视图中查找值(基于Tim Tripcony的代码).当选择一个值时,我希望XPage上的其他编辑框填充从相应文档中提取的值.

例如:用户名编辑框有一个从NAB查找的预先输入.我从输入型列表中选择"Joe Bloggs"名称,并希望电子邮件,电话和位置编辑框立即填充其NAB条目中的值.

我正在敲打我的头,因为我确信这是一个简单而明显的解决方案.谢谢.

typeahead xpages xpages-ssjs

0
推荐指数
1
解决办法
932
查看次数

XPages保存数据源和新的doc更改以前的doc

我有一个绑定到面板的文档数据源(没有父ID的创建文档).在面板中我有2个其他面板.在完成面板1中的字段后,我单击一个链接以显示第二个面板,并在其上有一个保存按钮.保存后,文档将正确显示在数据库中.

保存按钮执行dds保存,然后清除所有字段,并在外部面板上进行部分更新,并在该面板上执行部分执行,因为我在主面板外部的XPage上有其他dds.

如果我现在创建另一个文档,则先前的文档会更新,而不是创建新的文档.我已经为dds和其他选项尝试了不同的范围.不知道下一步该尝试什么.

谁知道问题是什么?

xpages xpages-ssjs

0
推荐指数
1
解决办法
2335
查看次数

将没有分隔符的字符串中的所有字符拆分为带有Lotus Notes的数组

我试图将一个sting变量拆分成一个数组,每个字符在数组中的位置,但似乎无法使其工作

 function test() {
    var strString = "thisIsTheString";
    var test = @Explode(strString, "");
    var strReturn = "";

    for (var i = 0; i < @Length(test); i++) {
        strReturn += test[i] + "<br/>";
    }

    return strReturn;
}
Run Code Online (Sandbox Code Playgroud)

javascript lotus-notes xpages xpages-ssjs

0
推荐指数
1
解决办法
3023
查看次数

xpages来自日期间隔的ftsearch文档

我使用IBM的教程为ftsearch创建了一个xpage元素

我的请求:是否有可能有2个日期字段(作为搜索的输入要求)来查找那些创建日期在包含这2个日期的区间内的文档?

我应该创建一个计算字段dtCreated,我将存储创建日期,然后在search视图的属性中我应该添加如下内容:

      var tmpArray = new Array("");
        var cTerms = 0;
        if (sessionScope.searchDate1) && (sessionScope.searchDate2) {
        tmpArray[cTerms++] = "(Field dtCreated > \"" + sessionScope.searhcDate1 + "\")" && "(Field dtCreated < \"" + sessionScope.searhcDate2 + "\")";
        }
    ....
    ....
Run Code Online (Sandbox Code Playgroud)

还是有另一种选择?

我的2个会话变量有Short (5/5/14) Date format.此外,这两个日期(会话变量)的默认值是,""但我当然在单击Submit按钮之前添加一些值.

谢谢你的时间!

xpages xpages-ssjs

0
推荐指数
1
解决办法
423
查看次数

执行getDocumentByKey方法时的HTTP JVM:CLFAD0134E

在xpage上,我运行以下代码:

function setPersonInfoCommon(x) {   
    //print("test printing to console value:  " + x)
    var serv = getPreferenceField("tx_server");
//e.g. "Development1";
    var dbname = getPreferenceField("tx_loc_personal_common");
//e.g. "CustomerX\\Personnel.nsf"
    var db:NotesDatabase = session.getDatabase(serv,dbname);    
    if (db == null) {
        requestScope.status = "Database not found.";    
        return;
    }
    var vw:NotesView = db.getView("LookUpUsersUNID");
    if (vw == null) {
        requestScope.status = "View not found.";    
        return;
    }   
    var doc:NotesDocument = vw.getDocumentByKey(x);
    if (doc == null) {
        requestScope.status = "Document not found.";
        return;
    }
    else{
        requestScope.status = "Document created:" + getCreated();
    } …
Run Code Online (Sandbox Code Playgroud)

xpages xpages-ssjs

0
推荐指数
1
解决办法
1243
查看次数

Xpages - 从ACL设置为No Access的不同数据库创建Repeat或View

我试图从不允许匿名ACL访问的不同数据库中的视图创建重复元素.

  • PubDb.nsf为用户Anonymous to Author设置了ACL
  • PrivDb.nsf为用户匿名设置了ACL,默认为"无访问权限".

数据库,PrivDb有我想要保护的信息,但是想要公开显示几个视图.

当我使用PrivDb.nsf视图在PubDb.nsf中创建重复时,它不会显示任何数据.我可以使用sessionAsSigner来获取SSJS以查看视图并在服务器端级别打开文档,但是当我尝试显示视图或重复元素时,没有数据?如果我将PrivDb中的ACL更改为Anonymous to Reader,一切正常,但现在整个数据库都对匿名访问开放.

我理解sessionAsSigner和sessionAsSignerWithFullAccess允许我使用db签名者有效的权限,我可以使用SSJS访问notesdocuments并使用单个docs的计算字段发布数据,但我找不到任何告诉我能够或可以' t使用sessionAsSigner显示xpages元素(重复或查看).也许我可以创建一个填充块的lotusscript代理?

下面是我用于在PubDb.nsf中创建repeat元素的代码.注意,我分配了DB两次,一次在Application中,再次在View中,因为当我在视图的计算值中没有使用sessionAsSigner时,我会收到提示进行身份验证,并且在app字段中需要它.

<xp:this.data>
    <xp:dominoView var="view2">
        <xp:this.databaseName><![CDATA[${javascript:
            var DB:NotesDatabase=sessionAsSigner.getDatabase(database.getServer(),"PrivDb.nsf");
            DB;
            }]]>
        </xp:this.databaseName>
    <xp:this.viewName><![CDATA[${javascript:
        var dbOther:NotesDatabase = sessionAsSignerWithFullAccess.getDatabase(database.getServer(), "PrivDb.nsf");
        var lookupView:NotesView = dbOther.getView( "PrivView" );
        lookupView.recycle();
        lookupView}]]>
    </xp:this.viewName>
    </xp:dominoView>
</xp:this.data>
<div class="container">
    <div class="page-header">
        <h1>This is a test.</h1>
    </div>
    <xp:br></xp:br>
    <xp:br></xp:br>
    <div class="row">
        <div class="col-md-1"></div>
        <div class="col-md-10">
            <xp:repeat id="repeat1" rows="30" var="playerData"
                value="#{view2}" repeatControls="true">
                <div class="panel panel-default">
                    <xp:text escape="true" id="computedField1"
                        value="#{playerData.$5}">
                    </xp:text>
                    hcp: &#160;
                    <xp:text escape="true" id="computedField5"
                        value="#{playerData.$6}">
                    </xp:text>
                    <xp:br></xp:br>
                    <xp:text escape="true" id="computedField2" …
Run Code Online (Sandbox Code Playgroud)

lotus-notes xpages xpages-ssjs

0
推荐指数
1
解决办法
663
查看次数

相当于数据库脚本初始化的Xpages

我在XPiNC中运行Xpages.

我通常的Xpages应用程序模式是将xpHome.xsp页面设置为打开的第一个页面.在这个I页面中,我设置了应用程序级别的任何范围变量,然后前往"真正的"第一页.

现在我遇到了一个问题.我的当前数据库将在状态更改时发送电子邮件,这将包括指向文档的文档链接,该文档指向要打开的正确X页.但是,由于用户没有浏览主页,因此我的applicationScope vars正在设置中.

我想我可以通过在initApp函数中设置一个信号量来解决这个问题 - 它最后要做的是在applicationScope.semaphore字段中放置一个"Y".因此,当我打开我的Xpage时,它首先要检查的是,如果它是null,那么我调用initApp函数.

由于某种原因,这是行不通的.但即便如此,我仍希望找到相当于旧数据库脚本"Initialize"的事件.我第一次打开数据库时可以调用的东西.

其他人如何处理这个问题?

xpages xpages-ssjs xpages-extlib

0
推荐指数
1
解决办法
212
查看次数