关于实体类getter跟setter方法忘写
前言
项目采用jeeweb自动生成代码,根据数据库sys_project生成SysProject的实体类,由于业务需要,此实体类新增两个非表中字段
/**所属区、县名称*/
@TableField(exist = false)
private String adName;
/**所属市名称*/
@TableField(exist = false)
private String cityName;
问题产生
忘记给这两个属性添加setter跟getter方法
产生现象
一个很简单的jsp页面(用于新增该表的数据)
<tr style="display: none">
<form:input path="adName" htmlEscape="false" class="form-control" id="aprojectadName" datatype="*" style="display: none" />
</tr>
<tr style="display: none">
<form:input path="cityName" htmlEscape="false" class="form-control" id="aprojectcityName" datatype="*" style="display: none" />
</tr>
当get请求指向此jsp时,返回
当我尝试注释此行
<!--<tr style="display: none">-->
<!--<form:input path="adName" htmlEscape="false" class="form-control" id="aprojectadName" datatype="*" style="display: none" />-->
<!--</tr>-->
<!--<tr style="display: none">-->
<!--<form:input path="cityName" htmlEscape="false" class="form-control" id="aprojectcityName" datatype="*" style="display: none" />-->
<!--</tr>-->
发现依旧报此错误信息(清理过缓存,确定前端代码已经更新)
问题的解决
删除掉代码后,jsp页面可以正常使用,猜测是此字段有问题。
查看此实体类时,发现忘记写setter跟getter方法,加上后,刷新,可以正常使用。
思考
1.是由于使用path属性给实体类属性赋值,可能是默认的set方法赋值,而我没有定义setter方法,则在这里出现异常(这异常信息也模糊了…)。
2.为什么我注释了jsp的代码,也会报异常…直接删除此行代码,则是正常的。难道是使用
<form:form id="projectForm" modelAttribute="data" method="post" class="form-horizontal">
这个标签导致此注释无效之类的?也没有时间测试了,望解答哈。