前两天整合SSH时做了个小项目
employee.class:
private String eId;
private String name;
private String sex;
我employee的编号一开始是如上eId命名的,额,是有点怪。
后来通过编译器自动get,set方法,如下:
public String geteId() {
return eId;
}
public void seteId(String eId) {
this.eId = eId;
}
连生成的get,set都那么怪……
我是用的idea,自动生成的,后来用其他编译器也是生成如上的,但是在使用到struts框架时就会出现错误了,我接收不到eId的数据!!!!!
后来老师说了原理,其实我听得也是云里雾里的。
大概就是因为我是使用模型驱动接收对象的,Struts通过setObject来循环遍历我实体里面的set方法,注意这里set后面第一个字母是大写,但是我生成的seteId第一个字母是小写,这就导致eId无法被赋值,自然接收不到数据。
后来将eId改为eid生成的set方法就是setEid了,当然像上面那个可以手动改成setEid,也是能接收到数据。不过当然是直接将属性名直接改了更好啦!
不止eId,用uId也是如此,这个可能是Java里面的什么规则吧,所以类似的命名尽量不要使用,不仅怪,而且不好用,还有问题!!