今天开发的过程中遇到了一个EL表达式取值的趣事。对比了前端和Entity。并没有发现哪里有误。
因为代码都是自动动生成的,所以写法并不会出错。
后来翻阅网上的案例发现了问题原因。
JavaBean的命名规范。并没有深入研究,反正前两个字母不要大写,否则EL会不认识它的getter和setter方法。
我这次,数据库的命名是M_TEST,所以自动生成的bean是private java.lang.String mTest;
它的getter和setter就是这个样子
public String getMTest(){
retrun myTest;
}
public void setMTest(String mTest){
this.mTest=mTest;
}这种private java.lang.String mTest的命名是不可以的,要在前面再加上一个小写字母,比如
改成private java.lang.String tmTest;
再重新生成getter和setter就可以了
本文探讨了在使用EL表达式过程中遇到的问题,特别是关于JavaBean命名规范的影响。指出如果JavaBean的属性名前两个字母大写,则EL表达式无法正确识别其getter和setter方法。通过调整属性命名方式来解决此问题。
2万+

被折叠的 条评论
为什么被折叠?



