SpringInputGeneralFieldTagProcessor 中的 Spring Thymeleaf TemplateProcessingException [英] Spring Thymeleaf TemplateProcessingException in SpringInputGeneralFieldTagProcessor

查看:23
本文介绍了SpringInputGeneralFieldTagProcessor 中的 Spring Thymeleaf TemplateProcessingException的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在控制器方法中创建:

I create in controller method:

@RequestMapping(value = "/user/registration", method = RequestMethod.GET)
    public String showRegistrationForm(WebRequest request, Model model) {
        UserDto userDto = new UserDto();
        model.addAttribute("user", userDto);
        return "registration";
    } 

当我转向 URL localhost:8080/user/registration SpringInputGeneralFieldTagProcessor 时抛出 TemplateProcessingException .

and when I turn to URL localhost:8080/user/registration SpringInputGeneralFieldTagProcessor throw TemplateProcessingException .

org.thymeleaf.exceptions.TemplateProcessingException:期间出错处理器的执行'org.thymeleaf.spring4.processor.SpringInputGeneralFieldTagProcessor'(模板:注册" - 第 12 行,第 36 栏)

org.thymeleaf.exceptions.TemplateProcessingException: Error during execution of processor 'org.thymeleaf.spring4.processor.SpringInputGeneralFieldTagProcessor' (template: "registration" - line 12, col 36)

如何解决这个问题?

注册.html

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8"/>
    <title>Registration page</title>
</head>
<body>
<form name='regForm' th:userDto="${user}" th:action="@{/registration}" enctype="utf8" method="post">
    <table>
        <tr>
            <td>User:</td>
            <td><input type="text" th:field="*{username}"/></td>
        </tr>
        <tr>
            <td>Email:</td>
            <td><input type='email' th:field="*{email}"/></td>
        </tr>

        <tr>
            <td>Password:</td>
            <td><input type='password' th:field="*{password}"/></td>
        </tr>
        <tr>
            <td>Matching password:</td>
            <td><input type='password' th:field="*{matchingPassword}"/></td>
        </tr>
        <tr>
            <td><input name="submit" type="submit" value="submit" /></td>
        </tr>

    </table>
</form>

</body>
</html>

我的 UserDto.java

my UserDto.java

package com.eve.web.dto;

import com.eve.validation.ValidEmail;
import org.hibernate.validator.constraints.NotEmpty;

import javax.validation.constraints.NotNull;

public class UserDto {
    @NotNull
    @NotEmpty
    private String username;


    @NotNull
    @NotEmpty
    private String password;

    private String matchingPassword;

    @ValidEmail
    @NotNull
    @NotEmpty
    private String email;


    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getMatchingPassword() {
        return matchingPassword;
    }

    public void setMatchingPassword(String matchingPassword) {
        this.matchingPassword = matchingPassword;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
}

推荐答案

既然你在使用 user,你应该添加到你所有的属性 user.

since you are using user, you should add to all your attributes user.

在这里你会找到工作代码`

here you will find the working code `

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8"/>
    <title>Registration page</title>
</head>
<body>
<form name='regForm' th:userDto="${user}" th:action="@{/registration}" enctype="utf8" method="post">
    <table>
        <tr>
            <td>User:</td>
            <td><input type="text" th:field="*{user.username}"/></td>
        </tr>
        <tr>
            <td>Email:</td>
            <td><input type='email' th:field="*{user.email}"/></td>
        </tr>

        <tr>
            <td>Password:</td>
            <td><input type='password' th:field="*{user.password}"/></td>
        </tr>
        <tr>
            <td>Matching password:</td>
            <td><input type='password' th:field="*{user.matchingPassword}"/></td>
        </tr>
        <tr>
            <td><input name="submit" type="submit" value="submit" /></td>
        </tr>

    </table>
</form>

</body>
</html>

`

这篇关于SpringInputGeneralFieldTagProcessor 中的 Spring Thymeleaf TemplateProcessingException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆