泛型设置为通过 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)