泛型设置为通过 SSJS 访问 Java 对象中的字段
generic set to access fields in a Java object via SSJS
有没有办法通过 SSJS 以更灵活的方式访问 Java 对象上的字段?
因此,当我的 Java 对象存储在 obj 变量中时,我可以通过 obj.created.
访问创建的字段
不过,我会让我的解决方案更灵活一些,因此字段的名称将通过自定义控件上的 属性 定义提供。
我通过以下方式获取的字段名称:
compositeData.fieldName
我怎样才能把它改成:
var field = compositeData.fieldName;
obj.????
我试过了
obj.getField(field);
(来源:https://www.tutorialspoint.com/java/lang/class_getfield.htm)
给我一个错误:
com.ibm.xsp.binding.javascript.JavaScriptValueBinding.getValue(JavaScriptValueBinding.java:132)
有没有人有建议?
您应该能够通过括号表示法访问对象属性:
obj.fieldName
与
相同
obj[compositeData.fieldName]
您可能还想查看 java 反射,它可能允许您执行以下操作:
obj.get(compositeData.fieldName)
有没有办法通过 SSJS 以更灵活的方式访问 Java 对象上的字段?
因此,当我的 Java 对象存储在 obj 变量中时,我可以通过 obj.created.
访问创建的字段不过,我会让我的解决方案更灵活一些,因此字段的名称将通过自定义控件上的 属性 定义提供。
我通过以下方式获取的字段名称:
compositeData.fieldName
我怎样才能把它改成:
var field = compositeData.fieldName;
obj.????
我试过了
obj.getField(field);
(来源:https://www.tutorialspoint.com/java/lang/class_getfield.htm)
给我一个错误:
com.ibm.xsp.binding.javascript.JavaScriptValueBinding.getValue(JavaScriptValueBinding.java:132)
有没有人有建议?
您应该能够通过括号表示法访问对象属性:
obj.fieldName
与
相同obj[compositeData.fieldName]
您可能还想查看 java 反射,它可能允许您执行以下操作:
obj.get(compositeData.fieldName)