Настройка отображения значений в Liferay SearchContainer

Моя сущность Liferay Person имеет <column name="mother" type="long" /> который указывает на первичный ключ другого экземпляра Person, Это долго отображается в виде числа в таблице SearchContainer, которую я создал:

    <liferay-ui:search-container-column-text
        name="category"
        property="category"
    />

Теперь, вместо того, чтобы показываться как длинный, я хотел бы отобразить имя человека. Итак, я написал:

    <%
        String motherName =
            PersonLocalServiceUtil.getPerson( person.getMother() )
                .getName();
        }
    %>

    <liferay-ui:search-container-column-text
        name="mother"
        value="<%= motherName %>"
        property="mother"
    />

ПРОБЛЕМА: значения, отображаемые в этом столбце, по-прежнему long цифры, а не имя. Даже после восстановления и перезапуска.

Что я делаю неправильно?

1 ответ

Решение

Проверьте выполнение SearchContainerColumnTextTag:

public int doEndTag() {
    ...
    if (Validator.isNotNull(_property)) {
        _value = ...
    }

Как видите, вы не можете установить оба, property а также value, Просто установите value и ты в порядке.

Другие вопросы по тегам