我的注册成功。将向邮件发送通知,其中包含有关跟踪链接的请求的文本,然后激活帐户。一切都很好,但不可能将此文本转换为模板,以便将变量存储在其中,并将其发送到邮局,但我不知道如何从java代码中放置thymeleaf
使用者getUsername()用户。getActivationCode()
在我的例子中,它们以相同的形式返回,它们不会给出它们对应的用户的值
public void addUser(User user) throws Exception {
User userFromDb = repository.findByUsername(user.getUsername());
if (userFromDb != null) {
throw new Exception("User exist");
}
user.setRoles(new String[]{"USER"});
user.setActive(false);
user.setActivationCode(UUID.randomUUID().toString());
repository.save(user);
if (!org.springframework.util.StringUtils.isEmpty(user.getEmail())) {
//TODO: move to template
String message = String.format(
"Hello," + user.getUsername() + "!\n" + "Welcome. Please, visit http://aa/activate-account/%s",
user.getActivationCode());
mailSenderService.send(user.getEmail(), "Activation code", message);
}
}
Hello Dear ${user.getUsername}
Welcome. Please, visit http://aa.ru/activate-account/%s
%{user.getActivationCode()}
Thanks
我的胸腺
我正在尝试通过上下文读取此文件,并在send方法中作为消息提交
public void send(String emailTo, String subject, String message){
SimpleMailMessage mailMessage = new SimpleMailMessage();
mailMessage.setFrom(username);
mailMessage.setTo(emailTo);
mailMessage.setSubject(subject);
mailMessage.setText(message);
mailSender.send(mailMessage);
}
我明白了
Hello Dear ${user.getName()}
欢迎。请访问http://aa.ru/activate-account/%s%{user.getActivationCode()}谢谢
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.1.RELEASE</version>
<relativePath/>
</parent>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<!DOCTYPE html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<代码>
我得到了一些东西,但我得到了所有的html代码,因为我使用Contex,我如何绕过这个?
请按照此链接并将想法应用到您的情况中。HTML模板示例如下:
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title th:remove="all">Template for HTML email</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<p th:text="${'Hello Dear,' + user.getUsername}">
Hello Dear John Doe
</p>
<p th:text="${'Welcome.Please visit, http://aa.ru/activate-account/' + user.getActivationCode}">
Welcome. Please visit http://aa.ru/activate-account/blahblah
</p>
<p>
Thanks
</p>
</body>
</html>
除了使用DangerouslySetInnerHTML之外,还有其他的方法吗? 谢谢!
我试图测试我的Spring MVC控制器,但我不断收到与Thymeleaf模板相关的错误。我真的不想在控制器测试中处理模板错误,因为这不是我真正感兴趣的。当模板不存在时让测试失败是可以的,但现在我收到了与根据错误代码找不到消息相关的错误。 当我运行应用程序时,这个问题不存在。我一直在尝试弄清楚如何设置测试环境来解决这个问题,但在那里我找不到任何有效的方法。现在,我只是真的想让控制器代码正常工作。
我有两个Spring应用程序(“客户端应用程序”和“服务应用程序”),它们已经注册到Eureka(并通过外部客户端进行对话)。但是,我必须与Solr的一个实例交谈,我被迫在属性文件中硬编码IP地址。我宁愿不这样做,而是使用Eureka进行服务发现。 问:有没有一种方法/插件可以让solr向Eureka注册,这样客户端就可以发现它(即使它是通过启动侦听器或某种方式编程实现的)? 我看过SolrAPI
当我加载我的newrecord视图时,它应该封存状态表中的所有记录,并填充到select元素中?。 当我从select fatch中选择state时,该状态的所有dstrict列表?。 当我在编辑模式下打开相同的记录时,状态和区域列表显示其默认值?。 模型 Thymeleaf视图
问题内容: 如何在Swift中使用(以前)? 这是我尝试复制的一个Objective-C示例: 但是,Swift似乎没有,这(似乎)意味着我无法在未实现的方法上调用方法。 我已经在Swift中尝试了基于对象的版本,但似乎使Playground崩溃了: 但是它似乎崩溃了,即使我的对象接受了一个类型的参数 在Swift中执行此操作的最佳方法是什么?有没有一种方法可以避免通过基于对象的注册发送不必要的对
我使用Thymeleaf和Hibernate使用IntelliJ创建了一个Spring Boot Web应用程序。我已经走了这么远,我可以创建所有db连接,并且运行良好。据我所见,将SessionFactory作为bean并在所有执行db操作的服务类中自动连接它是一种很好的方法。 我有一个SpringMvcConfiguration作为配置文件,如下所示: 问题:我已经尝试了很多,但我找不到为Se