ELContext: передача переменных нестандартным способом - PullRequest
0 голосов
/ 10 декабря 2018

Я создал следующий код с выражением java EL (javax.el 3.0):

@MyLoggingAnnotation(value = "#{userName}")
public void updateUser(
    @MyLoggingParam("userName") String username,
    List<PositionDto> userPositions) {
    updateUserPosition(userName, userPositions)
}

Это работает, но теперь я должен улучшить его, чтобы регистрировать позиции тоже.Я могу свободно изменять обработку значения (параметр в аннотации), но я должен сохранить его как объект.(это может быть список, массив или что-то еще, но это должен быть один объект)

Моя первая ставка была:

@MyLoggingAnnotation(value = "${[#{userName},#{userPositions}]}")
    public void updateUser(
        @MyLoggingParam("userName") String username,
        @MyLoggingParam("userPostions") List<PositionDto> userPositions)) {
        updateUserPosition(userName, userPositions)
    }

Но он только собрал некоторую коллекцию строк со строками: "# {userName} "and" # {userPositions} "

У вас есть идея лучше передать эти два объекта как один с EL?

Спасибо за вашу помощь.

Решение найдено, я могу передать список с EL, это была такая большая ошибка.После исправления аннотация будет выглядеть следующим образом:

@MyLoggingAnnotation(value = "${userName, userPositions]}")

Теперь я могу оценивать как список, который сейчас является единым объектом.

...