SpringBoot+thymeleaf时,pojo类的get,set大小写影响前端显示吗?

创建User类(username,password),当get,set方法全是小写的时候(getusername,setusername,getpassword,setpassword)

Controller模拟数据插入Attribute
```java
List users = new ArrayList<User>();
        users.add(new User("asd","123"));
        users.add(new User("2asd34","234"));
        users.add(new User("sda","345"));
        users.add(new User("asdasd","456"));
        model.addAttribute("users",users);

前端显示失败,查询不到传入的数据

img

当get,set方法为大写时(getUsername,setUsername,getPassword,setPassword)

却能正常显示传入的数据

img

有没有人能指点一下

另附相关代码,其中改动只有get,set的首字母大小写

Controller
@GetMapping("/dynamic_table")
    public String dynamic(Model model){
//        表格信息遍历
        List users = new ArrayList<User>();
        users.add(new User("asd","123"));
        users.add(new User("2asd34","234"));
        users.add(new User("sda","345"));
        users.add(new User("asdasd","456"));
        model.addAttribute("users",users);
        return "table/dynamic_table";
    }

User类改动前
public class User {
    private String username;
    private String password;
    public String getUsername() {
        return username;
    }

    public String getPassword() {
        return password;
    }

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

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

User类改动后
public class User {
    private String username;
    private String password;
    public String getusername() {
        return username;
    }

    public String getpassword() {
        return password;
    }

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

    public void setpassword(String password) {
        this.password = password;
    }
}
<table class="display table table-bordered" id="hidden-table-info">
        <thead>
        <tr>
            <th>Rendering engine</th>
            <th>Browser</th>
            <th class="hidden-phone">Platform(s)</th>
        </tr>
        </thead>
        <tbody>
        <tr  data-th-each="user:${users}">
            <td>Internet</td>
            <td th:text="${user.username}">username</td>
            <td th:text="${user.password}">password</td>
        </tr>
        </tbody>
        </table>
${user.username}

这种用法,方法名需要遵循驼峰命名法。对应的get方法必须是getUsername,否则会导致找不到这个方法的返回值。
这是一种规范定义(驼峰命名),根据属性名找到对应的get方法从而获取属性值。

img

你看看调用 User 类的时候方法名是怎么写的, User 类定义的方法名要与调用时的方法名一致
系统在访问或设置字段时用的方法名默认是把字段名变成首字母大写,之后的字母都小写并在前面加get或set,你User 类定义的方法名要与调用时的方法名一致
比如系统在访问username字段时用的方法名是getUsername,User 类定义的方法名也要是getUsername,不能是getusername

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632