У меня есть bean-компонент, который определен как сервис:
@Service
public class FileHandling {
public void doSomething() {
...
Возможно подключить его в моем приложении и использовать его:
@Autowired
@Qualifier("fileHandling")
FileHandling fh;
Когда я пытаюсь использовать егов шаблоне Thymeleaf я получаю это сообщение об ошибке:
org.springframework.expression.spel.SpelEvaluationException: EL1057E: В контексте не зарегистрирован преобразователь компонента для разрешения доступа к bean-файлу fileHandling
Это соответствующая часть моего шаблона:
<td th:text="${@fileHandling.doSomething()}">...</td>
Вот так я получаю доступ к шаблонизатору:
final Context ctx = new Context();
ctx.setVariable("files", map);
ctx.setVariable("fileHandling",fh);
String html = templateEngine.process("flattopic", ctx);
Я получаю сообщение об ошибке независимо от того,попробуйте получить доступ к компоненту напрямую или после setVariable("fileHandling")
.Синтаксис, который я использую, соответствует тому, что я вижу в главе 5 https://www.thymeleaf.org/doc/articles/springmvcaccessdata.html.
Я видел похожие вопросы, которые относятся к базовому SPEL (этот один ) или без ответа вопрос, специфичный для Thymeleaf.Я бы хотел избежать альтернативы для перехода от бина к статическому классу и использования ${T(org.foo.bar.package.FileHandling).doSomething()}
.
Как мне решить эту проблему или сделать бин доступным?