我正在尝试从XPage的beforePageLoad事件中的配置文件中获取值.为此,我使用Server Side Javascript:
var currdb:NotesDatabase = database;
var profdoc:NotesDocument = currdb.getProfileDocument("frmProfile","");
var showRefInfo = profdoc.getItemValueString("ShowReferenceInformation");
sessionScope.put("showRefInfo",@Text(showRefInfo));
Run Code Online (Sandbox Code Playgroud)
字段"ShowReferenceInformation"可以具有值1或0.我已将此值从0更改为1,但是我的SSJS代码继续返回0.可能导致此问题的原因是什么?
我有一个XPage,由于(应该是什么)一个小的改变刚刚破坏.
如果我运行(其中document1是NotesXSPDocument数据源):
document1.replaceItem("ItemName", false); //or true, or any variable/formula that results in a boolean
Run Code Online (Sandbox Code Playgroud)
其次是:
document1.getDocument(true);
Run Code Online (Sandbox Code Playgroud)
我最终得到了一个错误
[TypeError]调用方法NotesXspDocument.getDocument(boolean)null时发生异常
这是一个新文档(所以尚未保存,我没有测试过,但可能会有所不同),因此我不能只在底层文档上设置该字段.
它似乎不是页面中任何其他内容的工件,因为基本测试页确认了它.除了布尔值之外,它不会发生任何事情(我发现).
除了更改数据类型之外的任何建议?我想这就是我最终会做的事情(以及错误报告),但我想知道我不会先错过一些东西.
谢谢
------------测试XSP代码------------
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core"><xp:this.data>
<xp:dominoDocument var="document1" formName="Test" />
</xp:this.data><xp:span style="font-weight:bold">
Button 1 code:</xp:span><xp:br></xp:br>document1.replaceItemValue("Test",false);
<xp:br></xp:br>var doc:NotesDocument = document1.getDocument(true);
<xp:br></xp:br>print(doc.toString());<xp:br></xp:br>
<xp:button value="Test 1" id="button1">
<xp:eventHandler event="onclick" submit="true"
refreshMode="complete">
<xp:this.action><![CDATA[#{javascript:document1.replaceItemValue("Test",false);
var doc:NotesDocument = document1.getDocument(true);
print(doc.toString());}]]></xp:this.action>
</xp:eventHandler></xp:button>
<xp:br></xp:br>
<xp:br></xp:br>
<xp:br></xp:br>
<xp:br></xp:br><xp:span style="font-weight:bold">
Button</xp:span><xp:span style="font-weight:bold"> 2</xp:span><xp:span style="font-weight:bold"> Code:</xp:span><xp:span style="font-weight:bold"></xp:span> <xp:br></xp:br>document1.replaceItemValue("Test","Test);<xp:br></xp:br>var doc:NotesDocument = document1.getDocument(true);
<xp:br></xp:br>print(doc.toString());<xp:br></xp:br><xp:button value="Test 2" id="button2">
<xp:eventHandler event="onclick" submit="true"
refreshMode="complete">
<xp:this.action><
但是,我需要在文档中以字符串形式存储的日期之后的7天设置默认日期值.所以我尝试了以下方法:
var date:NotesDateTime = session.createDateTime(doc.getItemValue("EffDate")[0]);
log.logEvent("date= " + date); // returns 09/01/2013
var newDate = new Date(date);
log.logEvent("newDate= " + newDate); // returns NaN
var datePlus7 = @Adjust(newDate,0,0,7,0,0,0,"[InLocalTime]");
log.logEvent("datePlus7= " + datePlus7); // returns NaN
return datePlus7;
Run Code Online (Sandbox Code Playgroud)
哪个不起作用,因为datePlus7是NaN.任何想法都非常感谢.
我正在从一些SSJS代码创建一个新的数据库,然后将选定的设计元素复制到其中,设置ACL和其他一些东西.我想设置Notes和Web客户端的启动以打开特定的XPage,而不是让用户在Designer中打开它并手动设置它(它们可能没有设计者权限).我可以在应用程序属性/数据库属性中找到它们,但我没有在SSJS中看到能够设置它们的方法.我查看了Notes数据库的方法和函数,但没有看到它看起来会这样做.
我需要从客户端javascript库调用java bean方法.有没有办法从csjs库调用ssjs?
这样的东西适用于csjs var test =#{javascript:getConfig.getKeyValuesList("param")};
我添加了一个简单的药丸列表作为导航器:
<div class="container-fluid">
<ul class="nav nav-pills">
<li role="presentation" class="active">
<a href="#">Profiles</a>
</li>
<li role="presentation">
<a href="#">Applications</a>
</li>
<li role="presentation">
<a href="#">Automation</a>
</li>
</ul>
</div><!-- COntainer -->
Run Code Online (Sandbox Code Playgroud)
如果我想要做的就是添加href链接,它工作得很好,但是当点击药丸时我需要运行一些SSJS.刚刚启动BootStrap山,所以这可能是不可行的.我已经搜索过,但一直无法找到如何做到这一点.任何帮助赞赏.
谢谢
正如标题所说,有没有办法将一个SSJS库导入另一个?我有一个名为debug.jss的调试库,我想在其他SSJS库中包含和使用,但我不知道如何去做.这似乎是一个非常基本的问题,但我没有找到任何答案.提前致谢.