Как получить данные из пользовательского свойства, который находится в группе на пользовательском управлении на XPage?

StackOverflow https://stackoverflow.com/questions/9314549

Вопрос

Я работаю над пользовательским управлением, который обладает пользовательскими свойствами.

Если я хочу использовать значение свойства, это очень просто. Для значения свойства «maptype» я могу использовать Compositedata.maptype, но как мне сделать эти группы остроумия?

Например, у меня есть Goup под названием «Маркер», и их может быть множество. Каждый маркер имеет пять свойств: «адрес», «заголовок», «слой», «Infotext» и «Icon». Как получить доступ, например, значение заголовка на третьем маркере?

Это было полезно?

Решение

Группа свойств интерпретируется как com.ibm.xsp.binding.propertymap Java Class. Многочисленные экземпляры интерпретируются как класс java.lang.arraylist. Зная это, я бы попробовал

compositeData.Marker[2].address

Для простого привязки данных. Или же

compositeData.Marker.get(2).get('address')

Для доступа через Pure JavaScript.

Другие советы

Есть много способов использовать его. Это просто коллекция со свойствами, которые вы можете использовать. Одним из способов может быть использование его внутри повторного управления. Это пример, как вы можете его использовать:

            <xp:repeat id="repeat1" rows="30"
                value="#{javascript:compositeData.Marker}"
                var="rowMarker">

                <xp:label id="lbladdress"
                    value="#javascript:rowMarker.address}">
                </xp:label>
                <xp:label id="lbltitle"
                    value="#javascript:rowMarker.title}">
                </xp:label>

            </xp:repeat>

Если вы хотите цикл, вы можете просто использовать: для (Marker in compositedate.marker) {marker.title; }

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top