<jsp:getproperty>奇怪的行为</jsp:getproperty>

时间:2011-05-10 07:59:51

标签: java jsp javabeans

我有一个bean类whit set / get方法,当我尝试时,我有一个JSP页面 获得一个房产:

  1. <jsp:getProperty name="p" property="firstName"></jsp:getProperty> 并且bean中的方法命名为:getFirstNamegetfirstName返回属性;

  2. <jsp:getProperty name="p" property="FirstName"></jsp:getProperty>并且bean中的方法命名为:getFirstNamegetfirstName该属性未返回且我有以下异常:org.apache.jasper.JasperException: PWC6054: Cannot find any information on property 'FirstName' in a bean

  3. 为什么呢?我知道,对于bean规则,当我写一个属性名时,容器会尝试查找以get或set开头的getter或setter方法,然后继续显示属性名称(无论是否以首字母大写开头??? )

    感谢。

2 个答案:

答案 0 :(得分:2)

Java bean依赖于内省的命名约定,请参阅此处的规范:

http://www.oracle.com/technetwork/java/javase/documentation/spec-136004.html

您最感兴趣的是第8.3节(PDF中的第55页)。

答案 1 :(得分:1)

不,你是谁,

创建getter和setter方法时,如果属性为private String xxxx,则将创建方法为getXxxx()和setXxxx();

因此,请在创建getter和setter方法时遵循代码约定。 这将解决问题。

因此ur属性将是小写字母,作为ur bean类中的first_name