Altoriadd 2020-05-07 21:41 采纳率: 100%
浏览 1221
已结题

ssm框架中为什么SpringMVC表单提交,Controller接收到的值为null?

本人小白,接触ssm框架没多久,在半整合半修改的过程中,在登录界面就出现了问题。

图片说明

图片说明

实际上我在数据库中有这个数据,看idea下面的语句好像也成功找到了。

图片说明

及过查询,可能是action写错或者是表单控件中的name与实体类中的属性名不一致导致数据绑定失败,但是我仔细检查发现上述两个部分没有错,希望有大佬能指点下迷津,卡半天了,难受。

这里是数据库表:
图片说明

这里是jsp界面:

图片说明

附上controller中内容:

@Controller
@RequestMapping("/teacher")
public class ReUserInfoController {
    @Autowired
    private ReUserInfoService reUserInfoService;

    /**
     * 教师登入
     * @param copyUserInfo
     * @return
     */
//    上方扫描的是jsp页面中的action参数
    @RequestMapping("/teacher_login")
    public String teacher_login(CopyUserInfo copyUserInfo, HttpServletRequest request, Model model){
        String msg="";
        //根据登入账号判断该用户是否存在
        CopyUserInfo teacher = reUserInfoService.selectTeacherByRID(copyUserInfo.getTeacher_RID());
        if(teacher==null){
            msg="该用户不存在!";
        }else{
            if(teacher.getTeacher_Pass().equals(copyUserInfo.getTeacher_Pass())){
                /*将用户信息放入session*/
                request.getSession().setAttribute("userInfo",teacher);
                //获取sessionid
                String sessionId=request.getSession().getId();
                model.addAttribute("sessionId",sessionId);
                //进入主界面
                return "/teacher_main";
            }else{
                msg="密码错误!";
            }
        }
        model.addAttribute("msg",msg);
//        返回的是网页,/login是地址
        return "/login";
    }
}

补充断点说明:图片说明

用调断点的方式看了下,发现前台传进去是什么参数,就一直是什么参数,好像就一直没变过,除了teacher_RID和teacher_Pass,其余的都一直是null

  • 写回答

4条回答 默认 最新

  • 毕小宝 博客专家认证 2020-05-08 08:49
    关注

    F12 看网络请求中,表单提交表单的时候的参数名称和值都是什么,要么前台没有传到,要么请求参数转换为 Java 实体时映射出了问题。

    评论

报告相同问题?

悬赏问题

  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题