在 KendoUI 网格中设置 sessionScope 变量以打开文档时出错
Error setting sessionScope variable in KendoUI grid to open document
我的应用程序对用户视图使用 KendoUI 网格,但对表单页面使用带有自定义控件的 Xpages(至少目前如此)。
Xpage 查找 sessionScope 变量以确定它是新文档(Var 范围内没有任何内容)还是更新(unid 在 var 中)。
<xp:this.data>
<xe:objectData
saveObject="#{javascript:PCModel.save()}"
var="PCModel">
<xe:this.createObject><![CDATA[#{javascript:var pc = new com.scoular.model.PC();
var unid = sessionScope.get("key");
if (unid != null) {
pc.loadByUnid(unid);
sessionScope.put("key","");
viewScope.put("readOnly","Yes");
} else {
pc.create();
viewScope.put("readOnly","No");
}
viewScope.status = pc.status;
return pc;}]]></xe:this.createObject>
</xe:objectData>
</xp:this.data>
这适用于完全 Xpage 应用程序。我只是在 sessionScope 键中放入一个值并调用 Xpage。
在 Kendo UI 代码中,我使用的是客户端 javascript,但我没有看到设置 sessionScope 的方法。
我可以控制 URL,所以我可以切换齿轮并使用它,但是我的应用程序的数据与我的代码位于不同的数据库中。
如有任何帮助,我们将不胜感激。
最简单的方法确实是使用 URL:
使用参数 ?key=...
调用 XPage 并将您的 CSJS 代码行更改为
var unid = param.key;
以防您确实需要从客户端设置 sessionScope 变量
然后添加这个空的计算文本字段
<xp:text
escape="true"
id="setSessionScope"
value="#{javascript: if (param.key) {sessionScope.key = param.key} ''}" />
到您的 XPage 并使用
在 CSJS 代码中设置 sessionScope 变量
XSP.partialRefreshGet("#{id:setSessionScope}", {params: {'key': 'your key'}})
我的应用程序对用户视图使用 KendoUI 网格,但对表单页面使用带有自定义控件的 Xpages(至少目前如此)。
Xpage 查找 sessionScope 变量以确定它是新文档(Var 范围内没有任何内容)还是更新(unid 在 var 中)。
<xp:this.data>
<xe:objectData
saveObject="#{javascript:PCModel.save()}"
var="PCModel">
<xe:this.createObject><![CDATA[#{javascript:var pc = new com.scoular.model.PC();
var unid = sessionScope.get("key");
if (unid != null) {
pc.loadByUnid(unid);
sessionScope.put("key","");
viewScope.put("readOnly","Yes");
} else {
pc.create();
viewScope.put("readOnly","No");
}
viewScope.status = pc.status;
return pc;}]]></xe:this.createObject>
</xe:objectData>
</xp:this.data>
这适用于完全 Xpage 应用程序。我只是在 sessionScope 键中放入一个值并调用 Xpage。
在 Kendo UI 代码中,我使用的是客户端 javascript,但我没有看到设置 sessionScope 的方法。
我可以控制 URL,所以我可以切换齿轮并使用它,但是我的应用程序的数据与我的代码位于不同的数据库中。
如有任何帮助,我们将不胜感激。
最简单的方法确实是使用 URL:
使用参数 ?key=...
调用 XPage 并将您的 CSJS 代码行更改为
var unid = param.key;
以防您确实需要从客户端设置 sessionScope 变量
然后添加这个空的计算文本字段
<xp:text
escape="true"
id="setSessionScope"
value="#{javascript: if (param.key) {sessionScope.key = param.key} ''}" />
到您的 XPage 并使用
在 CSJS 代码中设置 sessionScope 变量XSP.partialRefreshGet("#{id:setSessionScope}", {params: {'key': 'your key'}})