Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Java для Web (EE, Servlet, JSP, Tomcat, Spring MVC)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме 85 тыс рублей в месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.03.2020, 02:05   #1
lap.ka
Новичок
Джуниор
 
Регистрация: 09.03.2020
Сообщений: 1
По умолчанию ield templateEngine in MailComponent required a bean of type 'org.thymeleaf.TemplateEngine' that could not be found.

Делала контактную форму в Spring .
Выводится такая ошибка:
ield templateEngine in MailComponent required a bean of type 'org.thymeleaf.TemplateEngine' that could not be found.
ield templateEngine in com.diet4you.LapkoEkaterina.MailCom ponent required a bean of type 'org.thymeleaf.TemplateEngine' that could not be found.

The injection point has the following annotations:
- @org.springframework.beans.factory. annotation.Autowired(required=true)

The following candidates were found but could not be injected:
- Bean method 'templateEngine' in 'ThymeleafAutoConfiguration.Thymele afDefaultConfiguration' not loaded because @ConditionalOnBean (types: org.thymeleaf.spring5.ISpringTempla teEngine; SearchStrategy: all) found beans of type 'org.thymeleaf.spring5.ISpringTempl ateEngine' templateEngine
- Bean method 'templateEngine' in 'ThymeleafAutoConfiguration.Thymele afReactiveConfiguration' not loaded because did not find reactive web application classes


Action:

Consider revisiting the entries above or defining a bean of type 'org.thymeleaf.TemplateEngine' in your configuration.


MailComponent:
Код:
@Component
@ComponentScan(basePackages ="com.diet4you.LapkoEkaterina.ThymeleafConfig")
@ComponentScan(basePackages ="com.diet4you.LapkoEkaterina.MailConfig")
public class MailComponent {

    @Autowired
    MailSender mailSender;

    @Autowired
    JavaMailSender javaMailSender;
    @Autowired
    TemplateEngine templateEngine;



    public boolean sendSimpleMail(Contact contact) {
        SimpleMailMessage mailMessage = new SimpleMailMessage();
        mailMessage.setFrom(contact.getEmail());
        mailMessage.setSubject(contact.getSubject());
        mailMessage.setText(contact.getMessage());
        mailMessage.setTo("email@email.com"); // if you use Gmail do not forget to put your personal address

        try {
            mailSender.send(mailMessage);
            return true;
        } catch (MailException e) {
            System.err.println(e.getMessage());
            return false;
        }
    }

    public boolean sendHtmlMail(Contact contact) {

        Context context = new Context();
        context.setVariable("contact", contact);
        final String messageHtml = templateEngine.process("email/contact", context);

        MimeMessage mimeMessage = javaMailSender.createMimeMessage();
        MimeMessageHelper mailMessage = new MimeMessageHelper(mimeMessage);
        try {
            mailMessage.setTo("email@email.com"); // if you use Gmail do not forget to put your personal address
            mailMessage.setFrom(contact.getEmail());
            mailMessage.setSubject(contact.getSubject());
            mailMessage.setText(messageHtml, true);
            javaMailSender.send(mimeMessage);
            return true;
        } catch (MessagingException | MailException e) {
            System.err.println(e.getMessage());
            return false;
        }
    }
}
MailConfig:
Код:
@PropertySource(ignoreResourceNotFound = true, value = "classpath:ValidationMessages.properties")
@Configuration
public class MailConfig {

    @Value("${spring.mail.host}")
    private String host;

    @Value("${spring.mail.port}")
    private int port;

    @Value("${spring.mail.default-encoding}")
    private String encoding;

    @Value("${spring.mail.properties.mail.debug}")
    private String debug;




    @Bean
    public JavaMailSender javaMailSender() {
        JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
        mailSender.setDefaultEncoding(encoding);
        mailSender.setHost(host);
        mailSender.setPort(port);



        Properties properties = new Properties();

        properties.put("mail.debug", debug);
        mailSender.setJavaMailProperties(properties);

        return mailSender;
    }

}
ThymeleafConfig:
Код:
@Configuration
public class ThymeleafConfig extends WebMvcConfigurerAdapter {
    @Bean
    public ViewResolver viewResolver() {
        ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();
        viewResolver.setCharacterEncoding("UTF-8");
        viewResolver.setTemplateEngine( templateEngine());
        return viewResolver;
    }

    @Bean
    public ISpringTemplateEngine templateEngine() {
        SpringTemplateEngine templateEngine = new SpringTemplateEngine();
        templateEngine.setTemplateResolver(templateResolver());
        return templateEngine;
    }

    private ITemplateResolver templateResolver() {
        SpringResourceTemplateResolver templateResolver = new SpringResourceTemplateResolver();
        templateResolver.setCharacterEncoding("UTF-8");
        templateResolver.setCacheable(false);
        templateResolver.setPrefix("classpath:/static/");
        templateResolver.setSuffix(".html");
        templateResolver.setTemplateMode(TemplateMode.HTML);
        return templateResolver;
    }
}
lap.ka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме 85 тыс рублей в месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
E2016 Array type required UKRtortik Общие вопросы Delphi 20 08.05.2014 23:23
Как бороться с ошибкой E2016 Array type required Celestia Общие вопросы Delphi 4 18.11.2010 13:03
Ошибка array type required _alis_ Компоненты Delphi 1 31.05.2010 17:27
Record, object or class type required @mazonk@ Помощь студентам 0 07.06.2009 13:03
Выдает ошибку Array type required! LIEN Общие вопросы Delphi 19 17.05.2009 11:08