解决思路:(发现form表单提交失败)
1.检查form表单的action路径是否错误,以及servlet的接口名称对应(发现无误)。
2.检查Mapper中sql语言是否错误(无误,使用username进行查询)。
3.检查获取对象后sql语言是否正确, 在service方法中编辑输出语言,发现修改项fullname(用户姓名)等数据项成功获取,但username显示null。成功定位问题位置(error改为username为null)。
4.解决username获取为null:
4.1 排查servlet:一开始以为是在servlet中setUsername,但username不可更改,所以获取值为null,而导致set后username为null(发现并不是)。又因,在获取数据中除了username其余均可正常获取,所以错误不在servlet中。
4.2 排查jsp:(原语句,username不可更改)
用户名:<input name="username" value="${user.username}" disabled><br>
直接更改了jsp中username的input整条书写,改为
用户名:<input name="username" value="${user.username}" type="hidden"><br>
发现可以正常获取,但呈现形式文本框隐藏,突然想到是不是disabled出现了问题。定位问题位置(error改为使用disabled无法获取value值)
4.3 查找disabled相关error,参考,解决方法及底层原因:form表单提交input使用disabled后台无法获取value值_disabled value-CSDN博客
将disabled改为readonly,可正常获取,且该项不可更改(完成!!!)。
用户名:<input name="username" value="${user.username}" readonly><br>
输入数据项正常获取
username数据获取失败
一开始为了使username不可更改,选用了disabled
改为readonly,成功获取,且数据项不可修改