Мы хотим добавить строчную кодированную строку в оцениваемое выражение. Возможно ли использование SPEL?spring SPEL добавить строку с жесткой кодировкой в выражение
Пример:
У меня есть класс Employee, который имеет коллекцию String. List<String> codes;
Я могу получить эту коллекцию, используя приведенное ниже выражение.
expression = expressionParser.parseExpression("codes");
List<String> evaluatedCodes = (List<String>) expression.getValue(evaluationContext);
System.out.println(" evaluatedCodes " + evaluatedCodes);
Я хочу префикс вывода с помощью строки.
expression = expressionParser.parseExpression("'PREFIX' + codes");
List<String> evaluatedCodes = (List<String>) expression.getValue(evaluationContext);
System.out.println(" evaluatedCodes " + evaluatedCodes);
Это не работает. Есть ли способ префикс вывода с жестко закодированной строкой?
Я получаю НИЖЕ за исключением
java.lang.ClassCastException: java.lang.String не может быть приведен к java.util.List в com.muhad.spel.ExampleConfigurationTests.testSPEL (ExampleConfigurationTests.java:103) на sun.reflect.NativeMethodAccessorImpl.invoke0 (нативный метод) на sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:57) в sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) на Java. lang.reflect.Method.invoke (Method.java:601)
Благодаря
Lives
Спасибо за ваше время и подробного объяснения. Попробуй это. – lives
Обновлена трасса исключения. Я пробовал как с, так и без toString. После конкатенации строк не будет оценен вывод по-прежнему списка? –
lives
Я хочу, чтобы конечный результат был foofoo, foobar в вашем примере. Basicaly «foo» должен быть префикс для каждой строки в коллекции – lives