Checkbox xpages-复选框为空
我在下面的问题上被指向了这个网站 我从OpenNTF.org借用了复选框代码。该计划是— 我已经将它集成到一个xPage中,在本地、web浏览器和手持设备上的notes客户端中运行时效果良好。但是,当在domino服务器上的复制副本上运行时,列数的值为null。domino服务器是8.5.3FP1 不确定为什么只有通过notes客户机在domino服务器上运行时才会出现错误,而在本地客户机上运行正常 谢谢, 沃尔特 这里是错误 意外的运行时错误 运行时遇到意外错误。 误差源 页面名称:/Company.xsp 控件Id:行重复 例外情况 执行JavaScript计算表达式时出错 脚本解释器错误,行=1,列=37:“compositeData.FieldValues”为 空的 JavaScript代码Checkbox xpages-复选框为空,checkbox,null,xpages,Checkbox,Null,Xpages,我在下面的问题上被指向了这个网站 我从OpenNTF.org借用了复选框代码。该计划是— 我已经将它集成到一个xPage中,在本地、web浏览器和手持设备上的notes客户端中运行时效果良好。但是,当在domino服务器上的复制副本上运行时,列数的值为null。domino服务器是8.5.3FP1 不确定为什么只有通过notes客户机在domino服务器上运行时才会出现错误,而在本地客户机上运行正常 谢谢, 沃尔特 这里是错误 意外的运行时错误 运行时遇到意外错误。 误差源 页面名称:/Comp
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客户端,本地副本
- 浏览器访问服务器
- 移动设备访问服务器
因此,它失败的一个场景是不正确的一个场景:从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)