【求助】定义一个类包装查询到的数据,用modelMap返回,thymeleaf接收不到报错

需要查询一个用户的id,头像,用户名,以及当前用户的在线状态

因为用户表里没有在线状态,而且这是需要随时变动的,所以就定义了一个类包装一下这些数据

public class ChatNow {
    private Integer userId;/*聊天对象的id*/
    private String account;/*聊天对象的账号*/
    private String headImg;/*聊天对象的头像*/

    private String ifOnline;/*在线状态*/

    public Integer getUserId() {
        return userId;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    public String getAccount() {
        return account;
    }

    public void setAccount(String account) {
        this.account = account;
    }

    public String getHeadImg() {
        return headImg;
    }

    public void setHeadImg(String headImg) {
        this.headImg = headImg;
    }

    public String getIfOnline() {
        return ifOnline;
    }

    public void setIfOnline(String ifOnline) {
        this.ifOnline = ifOnline;
    }
}

然后在server层调用

 ChatNow chatNow = new ChatNow();
    chatNow.setUserId(userInfo.getId());
    chatNow.setAccount(userInfo.getAccount());
    chatNow.setHeadImg(userInfo.getHeadImg());
        if (WebSocket_Chat.ifOnline(receiver)){
           modelMap.addAttribute("ifOnline","在线");
        }else {
           modelMap.addAttribute("ifOnline","离线");
        }
            System.out.println(chatNow);
            modelMap.addAttribute("otherUser",chatNow);

控制台输出是有数据的,分别输出对应的id,headImg,account都可以输出,然后把chatNow对象传给前端,用thymeleaf接收就会报错

Property or field '***' cannot be found on null

但是之前返回其他的实体类都是可以的,但是那些实体类都是用@Entity注解了的,持久化的,怀疑可能和这个有关。但是这些数据都是临时需要,不需要持久化。

改为下面这样分别返回虽然可以接收,但还是想知道为啥上面方法不行。实在太小白了,比较菜,希望有知道的大神指教一下。

//        ChatNow chatNow = new ChatNow();
//        chatNow.setUserId(userInfo.getId());
//        chatNow.setAccount(userInfo.getAccount());
//        chatNow.setHeadImg(userInfo.getHeadImg());
        if (WebSocket_Chat.ifOnline(receiver)){
//            chatNow.setIfOnline("在线");
            modelMap.addAttribute("ifOnline","在线");
        }else {
//            chatNow.setIfOnline("离线");
            modelMap.addAttribute("ifOnline","离线");
        }
//        System.out.println(chatNow);
//        modelMap.addAttribute("otherUser",chatNow);
        modelMap.addAttribute("userId",userInfo.getId());
        modelMap.addAttribute("account",userInfo.getAccount());
        modelMap.addAttribute("headImg",userInfo.getHeadImg());

不胜感激!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值