我想知道为什么如果我使用以下布尔值,eclipse会产生以下getter和setter:
boolean isLifeTimeMember
吸气剂应该是isIsLifeTimeMember()而不是isLifeTimeMember()
我认为这影响了在JSP中调用变量isLifeTimeMember。因为它将查看JSP并将其映射到isIsLifeTimeMember()getter方法。
由于没有isIsLifeTimeMember()方法,但由eclipse生成的getter是isLifeTimeMember(),将导致错误。
谢谢。
Eclipse名称生成规则是布尔型getter应该以开头is
。如果变量名已经以开头is
,则认为不需要其他前缀。
Eclipse的设置控制着is
对生成的布尔型getter的使用。打开“首选项”并导航到Java > Code Style
。在那里,您可以取消选中“对返回布尔值的getter使用'is'前缀”选项。Eclipse生成的布尔型吸气剂将以“ get”开头,就像其他所有的一样。
顺便说一下,Java没问题,它的字段和方法具有相同的名称。
但是,具有以“ is”开头的属性名称可能会导致jsp问题。如该线程中所述,最好避免读取类似问题的属性名称(isLifeTimeMember),而只使用属性本身作为属性名称(lifeTimeMember)。
代码示例:
boolean lifeTimeMember;
public boolean isLifeTimeMember() {
return lifeTimeMember;
}
public void setLifeTimeMember(boolean lifeTimeMember) {
this.lifeTimeMember = lifeTimeMember;
}
在JSP中,如果您需要使用此变量,只需使用变量名“ lifeTimeMember”。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句