Checkbox xpages-复选框为空

Checkbox xpages-复选框为空,checkbox,null,xpages,Checkbox,Null,Xpages,我在下面的问题上被指向了这个网站 我从OpenNTF.org借用了复选框代码。该计划是— 我已经将它集成到一个xPage中,在本地、web浏览器和手持设备上的notes客户端中运行时效果良好。但是,当在domino服务器上的复制副本上运行时,列数的值为null。domino服务器是8.5.3FP1 不确定为什么只有通过notes客户机在domino服务器上运行时才会出现错误,而在本地客户机上运行正常 谢谢, 沃尔特 这里是错误 意外的运行时错误 运行时遇到意外错误。 误差源 页面名称:/Comp

我在下面的问题上被指向了这个网站

我从OpenNTF.org借用了复选框代码。该计划是—

我已经将它集成到一个xPage中,在本地、web浏览器和手持设备上的notes客户端中运行时效果良好。但是,当在domino服务器上的复制副本上运行时,列数的值为null。domino服务器是8.5.3FP1

不确定为什么只有通过notes客户机在domino服务器上运行时才会出现错误,而在本地客户机上运行正常

谢谢, 沃尔特

这里是错误

意外的运行时错误 运行时遇到意外错误。 误差源 页面名称:/Company.xsp 控件Id:行重复

例外情况 执行JavaScript计算表达式时出错 脚本解释器错误,行=1,列=37:“compositeData.FieldValues”为 空的

JavaScript代码

Math.ceil(compositeData.FieldValues.length / compositeData.numberOfColumns);
堆栈跟踪

com.ibm.xsp.exception.EvaluationExceptionEx: Error while executing JavaScript computed expression
com.ibm.xsp.binding.javascript.JavaScriptValueBinding.getValue(Unknown Source)
com.ibm.xsp.component.UIDataIterator.getValue(Unknown Source)
com.ibm.xsp.component.UIDataIterator.createDataModel(Unknown Source)
com.ibm.xsp.component.UIDataIterator.getDataModel(Unknown Source)
com.ibm.xsp.component.UIDataIterator.setRowIndex(Unknown Source)
com.ibm.xsp.renderkit.html_extended.IteratorRenderer.encodeRows(Unknown Source)
com.ibm.xsp.renderkit.html_extended.IteratorRenderer.encodeChildren (Unknown Source)
com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeChildren(Unknown Source)
javax.faces.component.UIComponentBase.encodeChildren(Unknown Source)
com.ibm.xsp.component.UIDataIterator.encodeChildren(Unknown Source)
com.ibm.xsp.util.FacesUtil.renderComponent(Unknown Source)
com.ibm.xsp.util.FacesUtil.renderComponent(Unknown Source)
com.ibm.xsp.util.FacesUtil.renderComponent(Unknown Source)
com.ibm.xsp.util.FacesUtil.renderChildren(Unknown Source)
com.ibm.xsp.renderkit.html_extended.HtmlBasicRenderer.encodeChildren (Unknown Source)
com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeChildren(Unknown Source)
javax.faces.component.UIComponentBase.encodeChildren(Unknown Source)
com.ibm.xsp.util.FacesUtil.renderComponent(Unknown Source)
com.ibm.xsp.util.FacesUtil.renderChildren(Unknown Source)
com.ibm.xsp.renderkit.html_extended.HtmlBasicRenderer.encodeChildren (Unknown Source)
com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeChildren(Unknown Source)
javax.faces.component.UIComponentBase.encodeChildren(Unknown Source)
com.ibm.xsp.util.FacesUtil.renderComponent(Unknown Source)
com.ibm.xsp.util.FacesUtil.renderChildren(Unknown Source)
com.ibm.xsp.renderkit.html_extended.HtmlBasicRenderer.encodeChildren (Unknown Source)
com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeChildren(Unknown Source)
javax.faces.component.UIComponentBase.encodeChildren(Unknown Source)
com.ibm.xsp.util.FacesUtil.renderComponent(Unknown Source)
com.ibm.xsp.util.FacesUtil.renderComponent(Unknown Source)
com.ibm.xsp.util.FacesUtil.renderComponent(Unknown Source)
com.ibm.xsp.util.FacesUtil.renderComponent(Unknown Source)
com.ibm.xsp.util.FacesUtil.renderChildren(Unknown Source)
com.ibm.xsp.renderkit.html_extended.HtmlBasicRenderer.encodeChildren (Unknown Source)
com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeChildren(Unknown Source)
javax.faces.component.UIComponentBase.encodeChildren(Unknown Source)
com.ibm.xsp.util.FacesUtil.renderComponent(Unknown Source)
com.ibm.xsp.util.FacesUtil.renderComponent(Unknown Source)
com.ibm.xsp.util.FacesUtil.renderComponent(Unknown Source)
com.ibm.xsp.util.FacesUtil.renderComponent(Unknown Source)
com.ibm.xsp.util.FacesUtil.renderComponent(Unknown Source)
com.ibm.xsp.component.UIViewRootEx._renderView(Unknown Source)
com.ibm.xsp.component.UIViewRootEx.renderView(Unknown Source)
com.ibm.xsp.application.ViewHandlerExImpl.doRender(Unknown Source)
com.ibm.xsp.application.ViewHandlerExImpl._renderView(Unknown Source)
com.ibm.xsp.application.ViewHandlerExImpl.renderView(Unknown Source)
com.sun.faces.lifecycle.RenderResponsePhase.execute(Unknown Source)
com.sun.faces.lifecycle.LifecycleImpl.phase(Unknown Source)
com.sun.faces.lifecycle.LifecycleImpl.render(Unknown Source)
com.ibm.xsp.controller.FacesControllerImpl.render(Unknown Source)
com.ibm.xsp.webapp.FacesServlet.serviceView(Unknown Source)
com.ibm.xsp.webapp.FacesServletEx.serviceView(Unknown Source)
com.ibm.xsp.webapp.FacesServlet.service(Unknown Source)
com.ibm.xsp.webapp.FacesServletEx.service(Unknown Source)
com.ibm.xsp.webapp.DesignerFacesServlet.service(Unknown Source)
com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet (Unknown Source)
com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(Unknown Source)
com.ibm.designer.runtime.domino.adapter.ComponentModule $AdapterInvoker.invokeServlet(Unknown Source)
com.ibm.designer.runtime.domino.adapter.ComponentModule $ServletInvoker.doService(Unknown Source)
com.ibm.designer.runtime.domino.adapter.ComponentModule.doService (Unknown Source)
com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(Unknown Source)
com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(Unknown Source)
com.ibm.domino.xsp.module.nsf.NSFService.access$0(Unknown Source)
com.ibm.domino.xsp.module.nsf.NSFService$NsfServiceRequest.call(Unknown Source)
com.ibm.domino.xsp.module.nsf.NSFService$NsfServiceRequest.call(Unknown Source)
java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
java.util.concurrent.FutureTask.run(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)
com.ibm.domino.xsp.module.nsf.NSFService$NsfServiceThread.run(Unknown Source)


脚本解释器错误为“'compositeData.FieldValues'为空”。与任何自定义控件的上下文一样,
compositeData
是引用传递到自定义控件的属性映射的变量。因此,如果
compositeData.FieldValues
null
,则无论将哪个表达式分配给自定义控件的
FieldValues
属性,该表达式的计算结果都为
null

在您的例子中,表达式
compositeData.FieldValues.length
抛出一个错误,因为
null
没有长度(…或任何其他属性或方法)

您已经指出,在以下情况下,这可以正常工作:

  • Notes客户端,本地副本
  • 浏览器访问服务器
  • 移动设备访问服务器
这三种场景的共同点是代码在本地计算机上运行。当您通过浏览器(包括移动设备)访问XPage时,您正在访问某个服务器,但执行的代码本身是本地的。。。它不必调用另一个Domino服务器来运行代码


因此,它失败的一个场景是不正确的一个场景:从Notes客户端访问服务器副本。我猜传递给
FieldValues
的表达式使用的是
@DbLookup()
或类似的操作,但没有正确说明代码在哪个服务器上运行,导致它将
null
传递给自定义控件。

您应该在OpenNTF上的组件讨论中写下这篇文章。因为这可能是一个应用程序问题。该组件的开发人员将是最好的回答。您对ACL和服务器副本上的相同数据拥有足够的权限吗?我已向项目开发人员发送电子邮件,他们建议我将其发布在此处。那里的ACL很好,因为我通过浏览器和notes客户端使用相同的ID访问它。如果是和ID问题,浏览器或手持设备应显示相同的结果。它适用于服务器上的手持设备,而不适用于同一服务器副本上的PC浏览器?我仍然会再戳开发人员一些。)复合数据对象未初始化。这是您创建的还是组件。另一个选项是将其简化为示例,并将源粘贴到问题中。它确实执行查找,我将检查dblookup公式。在查找中,它没有查看服务器。我在找一个本地数据库。谢谢你的帮助
com.ibm.jscript.InterpretException: Script interpreter error, line=1, col=37: compositeData.FieldValues' is null
    com.ibm.jscript.ASTTree.ASTMember.interpret(Unknown Source)
    com.ibm.jscript.ASTTree.binaryop.ASTBinaryDefaultOp.interpret(Unknown Source)
    com.ibm.jscript.ASTTree.ASTArgumentList.interpretArguments(Unknown Source)
    com.ibm.jscript.types.FBSObject.call(Unknown Source)
    com.ibm.jscript.ASTTree.ASTCall.interpret(Unknown Source)
    com.ibm.jscript.ASTTree.ASTProgram.interpret(Unknown Source)
    com.ibm.jscript.ASTTree.ASTProgram.interpretEx(Unknown Source)
    com.ibm.jscript.JSExpression._interpretExpression(Unknown Source)
    com.ibm.jscript.JSExpression.access$1(Unknown Source)
    com.ibm.jscript.JSExpression$2.run(Unknown Source)
    java.security.AccessController.doPrivileged(Unknown Source)
    com.ibm.jscript.JSExpression.interpretExpression(Unknown Source)
    com.ibm.jscript.JSExpression.evaluateValue(Unknown Source)
    com.ibm.jscript.JSExpression.evaluateValue(Unknown Source)
    com.ibm.xsp.javascript.JavaScriptInterpreter.interpret(Unknown Source)
    com.ibm.xsp.javascript.JavaScriptInterpreter.interpret(Unknown Source)
    com.ibm.xsp.binding.javascript.JavaScriptValueBinding.getValue(Unknown Source)
    com.ibm.xsp.component.UIDataIterator.getValue(Unknown Source)
    com.ibm.xsp.component.UIDataIterator.createDataModel(Unknown Source)
    com.ibm.xsp.component.UIDataIterator.getDataModel(Unknown Source)
    com.ibm.xsp.component.UIDataIterator.setRowIndex(Unknown Source)
    com.ibm.xsp.renderkit.html_extended.IteratorRenderer.encodeRows(Unknown Source)
    com.ibm.xsp.renderkit.html_extended.IteratorRenderer.encodeChildren (Unknown Source)
    com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeChildren(Unknown Source)
    javax.faces.component.UIComponentBase.encodeChildren(Unknown Source)
    com.ibm.xsp.component.UIDataIterator.encodeChildren(Unknown Source)
    com.ibm.xsp.util.FacesUtil.renderComponent(Unknown Source)
    com.ibm.xsp.util.FacesUtil.renderComponent(Unknown Source)
    com.ibm.xsp.util.FacesUtil.renderComponent(Unknown Source)
    com.ibm.xsp.util.FacesUtil.renderChildren(Unknown Source)
    com.ibm.xsp.renderkit.html_extended.HtmlBasicRenderer.encodeChildren (Unknown Source)
    com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeChildren(Unknown Source)
    javax.faces.component.UIComponentBase.encodeChildren(Unknown Source)
    com.ibm.xsp.util.FacesUtil.renderComponent(Unknown Source)
    com.ibm.xsp.util.FacesUtil.renderChildren(Unknown Source)
    com.ibm.xsp.renderkit.html_extended.HtmlBasicRenderer.encodeChildren (Unknown Source)
    com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeChildren(Unknown Source)
    javax.faces.component.UIComponentBase.encodeChildren(Unknown Source)
    com.ibm.xsp.util.FacesUtil.renderComponent(Unknown Source)
    com.ibm.xsp.util.FacesUtil.renderChildren(Unknown Source)
    com.ibm.xsp.renderkit.html_extended.HtmlBasicRenderer.encodeChildren (Unknown Source)
    com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeChildren(Unknown Source)
    javax.faces.component.UIComponentBase.encodeChildren(Unknown Source)
    com.ibm.xsp.util.FacesUtil.renderComponent(Unknown Source)
    com.ibm.xsp.util.FacesUtil.renderComponent(Unknown Source)
    com.ibm.xsp.util.FacesUtil.renderComponent(Unknown Source)
    com.ibm.xsp.util.FacesUtil.renderComponent(Unknown Source)
    com.ibm.xsp.util.FacesUtil.renderChildren(Unknown Source)
    com.ibm.xsp.renderkit.html_extended.HtmlBasicRenderer.encodeChildren (Unknown Source)
    com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeChildren(Unknown Source)
    javax.faces.component.UIComponentBase.encodeChildren(Unknown Source)
    com.ibm.xsp.util.FacesUtil.renderComponent(Unknown Source)
    com.ibm.xsp.util.FacesUtil.renderComponent(Unknown Source)
    com.ibm.xsp.util.FacesUtil.renderComponent(Unknown Source)
    com.ibm.xsp.util.FacesUtil.renderComponent(Unknown Source)
    com.ibm.xsp.util.FacesUtil.renderComponent(Unknown Source)
    com.ibm.xsp.component.UIViewRootEx._renderView(Unknown Source)
    com.ibm.xsp.component.UIViewRootEx.renderView(Unknown Source)
    com.ibm.xsp.application.ViewHandlerExImpl.doRender(Unknown Source)
    com.ibm.xsp.application.ViewHandlerExImpl._renderView(Unknown Source)
    com.ibm.xsp.application.ViewHandlerExImpl.renderView(Unknown Source)
    com.sun.faces.lifecycle.RenderResponsePhase.execute(Unknown Source)
    com.sun.faces.lifecycle.LifecycleImpl.phase(Unknown Source)
    com.sun.faces.lifecycle.LifecycleImpl.render(Unknown Source)
    com.ibm.xsp.controller.FacesControllerImpl.render(Unknown Source)
    com.ibm.xsp.webapp.FacesServlet.serviceView(Unknown Source)
    com.ibm.xsp.webapp.FacesServletEx.serviceView(Unknown Source)
    com.ibm.xsp.webapp.FacesServlet.service(Unknown Source)
    com.ibm.xsp.webapp.FacesServletEx.service(Unknown Source)
    com.ibm.xsp.webapp.DesignerFacesServlet.service(Unknown Source)
    com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet (Unknown Source)
    com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(Unknown Source)
    com.ibm.designer.runtime.domino.adapter.ComponentModule $AdapterInvoker.invokeServlet(Unknown Source)
    com.ibm.designer.runtime.domino.adapter.ComponentModule
$ServletInvoker.doService(Unknown Source)
    com.ibm.designer.runtime.domino.adapter.ComponentModule.doService (Unknown Source)
    com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(Unknown Source)
    com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(Unknown Source)
    com.ibm.domino.xsp.module.nsf.NSFService.access$0(Unknown Source)
    com.ibm.domino.xsp.module.nsf.NSFService$NsfServiceRequest.call(Unknown Source)
    com.ibm.domino.xsp.module.nsf.NSFService$NsfServiceRequest.call(Unknown Source)
    java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
    java.util.concurrent.FutureTask.run(Unknown Source)
    java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    java.lang.Thread.run(Unknown Source)
    com.ibm.domino.xsp.module.nsf.NSFService$NsfServiceThread.run(Unknown Source)