Xpages-如何在页面上找到组件的id?

Xpages-如何在页面上找到组件的id?,xpages,Xpages,我的openLog数据库中有很多错误: 表达式语言解释异常错误:“compositeData”不是 发现-在_id773上出现错误: 解释异常 错误:'compositeData'未找到 多次,每次使用不同的ID。如果我查看源代码并搜索任何ID,我在任何地方都找不到它们。。。。我现在可以看到隧道了!有没有什么东西能跳出来给你一个方向的暗示?我假设的错误是因为我在某个不存在的地方引用了compositeData属性,但我有太多自定义属性和大量自定义控件,因此很难精确定位。即使有人能在堆栈中看到一个

我的openLog数据库中有很多错误:

表达式语言解释异常错误:“compositeData”不是 发现-在_id773上出现错误:

解释异常

错误:'compositeData'未找到

多次,每次使用不同的ID。如果我查看源代码并搜索任何ID,我在任何地方都找不到它们。。。。我现在可以看到隧道了!有没有什么东西能跳出来给你一个方向的暗示?我假设的错误是因为我在某个不存在的地方引用了compositeData属性,但我有太多自定义属性和大量自定义控件,因此很难精确定位。即使有人能在堆栈中看到一个字段类型或其他东西,它也能帮助我缩小范围。谢谢

堆栈跟踪:

堆栈跟踪com.ibm.jscript.解释器异常:在 com.paulwithers.openLog.OpenLogErrorHolder.getExpressionException(OpenLogErrorHolder.java:114) 在 OpenLogErrorHolder.addError(OpenLogErrorHolder.java:216) at sun.reflect.GeneratedMethodAccessor35.invoke(未知源)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55) 位于java.lang.reflect.Method.invoke(Method.java:508) com.ibm.jscript.types.JavaAccessObject.call(JavaAccessObject.java:322) 在com.ibm.jscript.types.FBSObject.call(FBSObject.java:161)中 com.ibm.jscript.astree.ASTCall.exploration(ASTCall.java:197)位于 com.ibm.jscript.astree.ASTTry.interpretatcatch(ASTTry.java:150)位于 com.ibm.jscript.astree.ASTTry.exploration(ASTTry.java:113)位于 com.ibm.jscript.astree.ASTProgram.explain(ASTProgram.java:119)位于 com.ibm.jscript.ASTTree.ASTProgram.解释器(ASTProgram.java:139)位于 JSExpression.\u解释器expression(JSExpression.java:435) 位于com.ibm.jscript.JSExpression.access$1(JSExpression.java:424) JSExpression$2.run(JSExpression.java:414)位于 java.security.AccessController.doPrivileged(AccessController.java:686) 在 expression(JSExpression.java:410) 位于com.ibm.jscript.JSExpression.evaluateValue(JSExpression.java:251) 位于com.ibm.jscript.JSExpression.evaluateValue(JSExpression.java:234) 在 com.ibm.xsp.javascript.javascriptexplorer.exploration(javascriptexplorer.java:222) 在 com.ibm.xsp.javascript.javascriptexplorer.exploration(javascriptexplorer.java:194) 在 com.ibm.xsp.binding.javascript.JavaScriptValueBinding.getValue(JavaScriptValueBinding.java:78) 在 com.ibm.xsp.component.xp.xspoutputlab.getFor(xspoutputlab.java:158) at sun.reflect.GeneratedMethodAccessor25.invoke(未知源)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55) 位于java.lang.reflect.Method.invoke(Method.java:508) javax.faces.component.UIComponentBase$AttributeMap.put(UIComponentBase.java:1863) 在 com.ibm.xsp.stylekit.stylekitempl.applyProperties(stylekitempl.java:391) 位于com.ibm.xsp.stylekit.stylekitempl.applyStyle(stylekitempl.java:240) 在 com.ibm.xsp.stylekit.stylekitempl.\u applyStyles(stylekitempl.java:196) 在 com.ibm.xsp.stylekit.stylekitempl.\u applyStyles(stylekitempl.java:203) 在 com.ibm.xsp.stylekit.stylekitempl.\u applyStyles(stylekitempl.java:203) 在 com.ibm.xsp.stylekit.stylekitempl.\u applyStyles(stylekitempl.java:203) 在 com.ibm.xsp.stylekit.stylekitempl.\u applyStyles(stylekitempl.java:203) 在 com.ibm.xsp.stylekit.stylekitempl.\u applyStyles(stylekitempl.java:203) 在 com.ibm.xsp.stylekit.stylekitempl.\u applyStyles(stylekitempl.java:203) 在 com.ibm.xsp.stylekit.stylekitempl.\u applyStyles(stylekitempl.java:203) 在 com.ibm.xsp.stylekit.stylekitempl.\u applyStyles(stylekitempl.java:203) 在 com.ibm.xsp.stylekit.stylekitempl.\u applyStyles(stylekitempl.java:203) 在 com.ibm.xsp.stylekit.stylekitempl.\u applyStyles(stylekitempl.java:203) 在 com.ibm.xsp.stylekit.stylekitempl.\u applyStyles(stylekitempl.java:203) 在 com.ibm.xsp.stylekit.stylekitempl.\u applyStyles(stylekitempl.java:203) 在 com.ibm.xsp.stylekit.stylekitempl.\u applyStyles(stylekitempl.java:203) 在 com.ibm.xsp.stylekit.stylekitempl.\u applyStyles(stylekitempl.java:203) 在 com.ibm.xsp.stylekit.stylekitempl.\u applyStyles(stylekitempl.java:203) 在 com.ibm.xsp.stylekit.stylekitempl.\u applyStyles(stylekitempl.java:203) 在 com.ibm.xsp.stylekit.stylekitempl.\u applyStyles(stylekitempl.java:203) 在 com.ibm.xsp.stylekit.stylekitempl.\u applyStyles(stylekitempl.java:203) 在 com.ibm.xsp.stylekit.stylekitempl.\u applyStyles(stylekitempl.java:203) 在 com.ibm.xsp.stylekit.stylekitempl.applyStyles(stylekitempl.java:192) 在 com.ibm.xsp.application.ViewHandlerEx.applyStyles(ViewHandlerEx.java:137) 在 com.ibm.xsp.application.ViewHandlerEx.createView(ViewHandlerEx.java:93) 位于com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:250) 在 com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:157) 位于com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:159) com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:138)位于 com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:103) 在 com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:588) 在 com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1335) 在 com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:865) 在 com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:808) 在 com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:577) 在 com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1319) 在 com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:662)
package ch.hasselba.xpages;

import com.ibm.xsp.binding.BindingFactory;
import com.ibm.xsp.util.ValueBindingUtil;
import javax.faces.application.Application;
import javax.faces.el.MethodBinding;
import javax.faces.el.ValueBinding;

public class JavaScriptDebugBindingFactory implements BindingFactory {
    public static final String JAVASCRIPT = "javascript";

    public String getPrefix() {
        return "javascript";
    }

    public MethodBinding createMethodBinding(Application app, String str,
            Class[] arr) {
        String tmpStr = ValueBindingUtil.parseSimpleExpression(str);
        return new JavaScriptDebugMethodBinding(tmpStr, arr);
    }

    public ValueBinding createValueBinding(Application app, String str) {
        String tmpSttr = ValueBindingUtil.parseSimpleExpression(str);
        return new JavaScriptDebugValueBinding(tmpStr);
    }
}
package ch.hasselba.xpages;

import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.el.EvaluationException;
import javax.faces.el.MethodNotFoundException;

import com.ibm.xsp.binding.javascript.JavaScriptMethodBinding;
import com.ibm.xsp.exception.EvaluationExceptionEx;

public class JavaScriptDebugMethodBinding extends JavaScriptMethodBinding {

    public JavaScriptDebugMethodBinding() {
        super(null, null);
    }

    public JavaScriptDebugMethodBinding(String str,
            Class[] arr) {
        super(str, arr);
    }

    public Object invoke(FacesContext fc, Object[] obj)
            throws EvaluationException, MethodNotFoundException {
        UIComponent cmp = getComponent();
        try {
            return super.invoke(fc, obj);
        } catch (EvaluationExceptionEx e) {
            System.out.println("COMPONENT: " + cmp.getId());
            throw e;
        }
    }
}
package ch.hasselba.xpages;

import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.el.EvaluationException;
import javax.faces.el.PropertyNotFoundException;

import com.ibm.xsp.binding.javascript.JavaScriptValueBinding;
import com.ibm.xsp.exception.EvaluationExceptionEx;

public class JavaScriptDebugValueBinding extends JavaScriptValueBinding {

    public JavaScriptDebugValueBinding() {
        super();
    }

    public JavaScriptDebugValueBinding(String str) {
        super(str);
    }

    public Object getValue(FacesContext fc) throws EvaluationException,
            PropertyNotFoundException {
        UIComponent cmp = getComponent();
        try {
            return super.getValue(fc);
        } catch (EvaluationExceptionEx e) {
            System.out.println("COMPONENT: " + cmp.getId());
            throw e;

        }
    }
}
<xp:this.beforePageLoad>
    <![CDATA[#{javascript:
        importPackage( ch.hasselba.xpages );
        var facts = facesContext.getApplication().getFactoryLookup();
        facts.setFactory("javascript", new ch.hasselba.xpages.JavaScriptDebugBindingFactory())

    }]]>
</xp:this.beforePageLoad>