2013-04-23 4 views
3

Я создал многопользовательский виджет с двумя полями с именами ./urlLink и ./urlText. Теперь я пытаюсь извлечь значения из виджета в JSP компонента с помощью следующего кодаКак получить значение из настраиваемого компонента multifield?

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

    out.print(value); 
} 

out.print(property); 

Но я не могу получить его значение вместо я получаю сообщение об ошибке.

+1

Было бы полезно, если бы вы выложили ошибку вы получаете. – ilikeorangutans

ответ

0

Одобрено: вы не префикс имени свойства .\ при доступе к нему.

Я думаю, вы получили NullPointerException, верно? Это потому, что в карте значений нет ./urlLink (properties). Вы должны все равно проверять (чтобы он не был брошен на новую страницу без содержимого).

Если это не помогает - дважды проверьте, что у вас есть свойства в содержимом (позвоните на страницу с помощью .xml или .infinite.json расширений, а затем дважды проверьте, можете ли вы прочитать их как простые строки (вы должны иметь возможность CRX делает некоторые магические, интеллектуальные преобразования типов).

1

Если вы получаете свойство и оно содержит строковое значение, вам необходимо использовать метод getString() - таким образом, когда у вас есть свойство, вы можете установить string, чтобы сделать что-то вроде этого:

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

Только боковое примечание , если ваш возврат должен быть строковым массивом, ваш тип, в который вы помещаете значения, должен быть строковым массивом.

String[] value 

Заканчивать документацию по day.com для свойств и получения значений внутри них.

0

Это хорошо, чтобы зарегистрировать пользовательские xtype как:

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

Тогда и можно легко получить значение как:.

String [] данных = properties.get ("мульти", String [] класса);

Здесь Многоканальный название виджета того многопрофильное, как xtype