3

我创建了一个多字段自定义小部件,其中包含两个名称为 ./urlLink 和 ./urlText 的字段。现在我尝试使用以下代码将小部件中的值提取到组件的 jsp 中

String property = properties.get("./urlLink",String[].class);
for(String value: property ) {

  out.print(value);
}

out.print(property);

但我无法获得它的价值,而是我得到了错误。

4

3 回答 3

1

如果您正在获取一个属性并且它包含一个字符串值,则需要使用该方法getString()- 这样,当您拥有该属性时,您可以通过执行以下操作将字符串设置为该值:

Property property = properties.get("./urlLink",String.class);
String value = property.getString();

顺便说一句,如果您的返回应该是一个字符串数组,那么您将值放入的类型应该是一个字符串数组。

String[] value

查看day.com上的文档以获取属性并获取其中的值。

于 2013-04-24T15:23:05.633 回答
0

.\看起来像一个错字:您在访问它时没有为属性名称添加前缀。

我猜你有一个NullPointerException,对吧?./urlLink那是因为值映射 ( properties)中没有属性。无论如何,您都应该对此进行检查(这样它就不会被扔到没有内容的新页面上)。

如果这没有帮助 - 仔细检查您在内容中是否有属性(使用.xml.infinite.json扩展名调用您的页面,然后仔细检查您是否可以将它们作为纯字符串读取(您应该能够 - CRX 有一些魔力, 智能类型转换)。

于 2013-04-24T00:15:32.607 回答
0

将自定义 xtype 注册为:

// registering the custom widget with the name dualfield
    CQ.Ext.reg("dualfield", CQ.Ext.form.DualField);

然后你可以轻松地获取值:

String[] data = properties.get("multi",String[].class);

这里 multi 是具有多字段为 xtype 的小部件的名称

于 2015-07-06T08:40:18.130 回答