当前位置: 首页 > 知识库问答 >
问题:

如何在thymeleaf注册?

商鸿哲
2023-03-14

我的注册成功。将向邮件发送通知,其中包含有关跟踪链接的请求的文本,然后激活帐户。一切都很好,但不可能将此文本转换为模板,以便将变量存储在其中,并将其发送到邮局,但我不知道如何从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,我如何绕过这个?

共有1个答案

令狐嘉禧
2023-03-14

请按照此链接并将想法应用到您的情况中。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