java - 如何检查 String[] 类型的页面属性?

标签 java aem crx

我在 dialog.xml 中有以下属性:

现在我创建了新页面并用三个值(string1、string2、string3)填充了这个属性。 crx jcr:content 中的此属性如下所示:

Name       | Type     | Value
------------------------------
myProperty | String[] | string1, string2, string3

现在我想用 java 访问这个属性并检查它是否具有 String[] 类型。我这样做如下:

boolean result = myPage.getProperties().get("myProperty") instanceof String[];

结果返回“false”。

如何检查 myProperty 是否为字符串数组?

p.s: String.valueOf(...).get("myProperty")) 返回 [Ljava.lang.Object;@761139f3

最佳答案

您可以尝试以下操作。如果该属性是多值的,它将返回 true,否则返回 false。

属性 myProp = myPage.getProperties().get("myProperty"); boolean 结果 = myProp.isMultiple();

然后我们可以获取属性的值,然后检查其类型。

如果(结果){ 值 [] 值 = myProp.getValues(); 对于(值值:值){ 值.getString(); } }

关于java - 如何检查 String[] 类型的页面属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21113452/

相关文章:

java - 如何为 Sling Resource 实现自定义 AdapterFactory?

Jackrabbit 跨连接节点搜索

javascript - 如何在 Chrome 扩展程序图标顶部设置文本

java - 如何从两个单独的线程更新数组

Java 小程序屏幕捕获到视频

java - Java 中具有非十六进制字符的等效 Perl 包 ("H*")

aem - 使用 URL 在 Java 类中创建 Page 对象

internationalization - 如何在页面级别而非用户级别针对不同语言使用 CQ5 中的 i18n 功能?

curl 命令在 CQ 中特定节点的多值属性中添加值

java - 为什么在我启动服务器时 Tomcat 不启动连接器?