一:在Getting和Setting方法中,系统会自动将属性名的第一个字母大写加上set和get形成Getting方法,但有两种情况除外:
1.属性是boolean类型,系统会将属性名的第一个字母大写拼接上is来代替get
2.当属性的第一个字母小写,第二个字母大写时,系统不会再将第一个字母大写,而是直接拼接get或set.
第一中特例:
第二种特例
二:EL表达式调用的是Getting方法,与属性无关。如${user.name},不管user这个实例所属的类中有没有name属性,只有有GetName()方法,EL表达式就可以
调用GetName()方法,得到GetName()方法的返回值。
但EL表达式调用Getting方法的处理和系统对属性封装时处理是一样的,都是将属性的第一个字母大写拼接上get。然后,EL表达式去查找这个get方法。同样的有两种
特殊情况。
1.当属性是boolean类型,EL找不到get方法,会尝试查找is+属性的方法
2.当属性的第一个字母是小写,第二个字母是大写,同样EL表达式不会再将第一个字母大写,而是直接拼接get
所以,对于EL表达式,只需要保证和属性名一致,并且Getting方法是系统生成的,那么就不会出现找不到属性的情况。
如果遇到Getting方法不是系统生成的且命名不规范,则当get方法后的字符如果前两个字母都是大写时,EL表达式的第一个字母大写.除此之外第一个字母
均为小写.