Jsp学习笔记:javaBean属性命名规范

问题描述

在做Jsp javaBean的练习中,javaBean如下:

public class Counter {
    private int Count = 0;

    public int getCount() {
        return ++Count;
    }

    public void setCount(int count) {
        Count = count;
    }
}

在Jsp中使用<jsp:getProperty name="count" property="Count"/>获取javaBean- Count属性,访问jsp报错:
Cannot find any information on property 'Count' in a bean of type 'bean.Counter'

原因

Java是比较严格的语言,区分大小写,其变量和方法的命名都遵循驼峰命名法(除了第一个单词,所有单词首字母大写),
为了使javaBean中的属性和存取方法都符合规范,Sun规定了属性名和存取方法名的映射规则:

  1. 属性名对应的存取方法为set/get加上首字母大写的属性名,如
    属性name的存取方法为:setName/getName
    这个规则是强制的,否则会出现异常。
  2. 如果属性名的第二个字母大写,则它的存取方法是set/get加上属性原名(考虑到会需要全大写的属性名)。如属性URL的存取方法是:setURL/getURL

需要注意的是,这里有两个特殊情况:

  1. 属性名的第一个单词只有一个字母,如 sName,按照第 2 条规则,它的存取方法为 setsName/getsName 。那么就和命名规范有一定的出入,按规范应该是 setSName/getSName 。所以最好不要让属性名的第一个单词只有一个字母
  2. 起了一个不符合规范的属性名 Sname ,首字母大写后面的小写,这种情况既没有映射规则,也是不允许出现的。(我就是这个错误。。。)

Ps:学习、工作中,养成规范命名的好习惯,少出Bug,同时增加程序的可读性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值