Как передать значение функции в тимелист - PullRequest
0 голосов
/ 17 января 2019

Я хочу перенести текст в тимелист, чтобы в зависимости от значения функции в проверке страницы отображался текст

public String activate(Map<String, String> model, @PathVariable String code) {
    boolean isActivated = userService.activateUser(code);
    // TODO: change to boolean in template
    if (isActivated) {
        model.put("message", "User Successfully activated");
    } else model.put("message", "Activation code not found");
    return "verificationPage";
}   

значение сообщения в функции не будет, я перенес в шаблон, но я не знаю, как принять значение этой функции, то есть true или false, чтобы понять, какое сообщение показывать

<div th:if="${#bools.isTrue(message)}"><p>User Successfully activated .</p></div>
<div th:unless="${#bools.isFalse(message)}"><p>Activation code not found.</p></div>

Как передать значение функции в тимелист?

public String processForgotPasswordForm(@RequestBody User userData) throws Exception {
    User dbUser;
    String userEmail = userData.getEmail();
    String userName = userData.getUsername();
    if (userEmail == null && userName == null) {
        throw new Exception("Пустое поле");
    }
    if (userEmail != null) {
        dbUser = userService.findUserByEmail(userEmail);
    } else {
            dbUser = userService.findUserByUsername(userName);
    }

    if (dbUser != null) {
        String newPassword = RandomStringUtils.randomAlphanumeric(8);
        String hashPass = DigestUtils.md5Hex(newPassword);
        dbUser.setValidatyTime(new Date());
        dbUser.setTemporaryPassword(hashPass);
        userService.save(dbUser);
        // TODO: move to template
        String message = String.format(
                "Your new temporary password, which will be valid for an hour " + " " + newPassword + "\nYou can log in and change your password to a new one.\n");
        mailSenderService.send(dbUser.getEmail(), "Temporary password", message);
    }
    return "wait";

}

также с сообщением здесь, но другой шаблон

1 Ответ

0 голосов
/ 17 января 2019

Я бы предложил вам отправить значение true или false через контроллер

public String activate(Map<String, String> model, @PathVariable String code) {
    boolean isActivated = userService.activateUser(code);
    // TODO: change to boolean in template
    if (isActivated) {
        model.put("message", "User Successfully activated");
    } else model.put("message", "Activation code not found");
     model.put("isActivated", isActivated);

    return "verificationPage";
}   

А в html можно попробовать

<div  th:if="${isActivated} == true"><p>User Successfully activated .</p></div>
<div th:unless="${isActivated}"><p>Activation code not found.</p></div>

Обновлены `

В вашем случае вы можете просто напечатать сообщение в одиночку, вам вообще не нужно условие if.

<div ><p>${message}</p></div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...