Form里有n个属性,字符串类型,属性对应的get/set方法用MyEclipse自动生成的,完全符合命名规范。页面上有n个文本框,对应form中的属性,字母大小写都正确。文本框的初始值由上个页面通过session传过来的,某些值可能为null。
由上个页面进入这个页面的时候问题就出现了,如果后四个属性的初始值为null,就会出现No getter method for property xxx ……的错误。如果把这四个属性的文本框删除,就没问题了,即使其他属性为空,也不会出错。
我就纳了闷儿了,同样是一个Form里的String类型的属性,差距他咋就这么大呢?大侠们帮帮忙吧!万分感激!
我做的是一个修改详细信息的页面。
大体代码:
我的ActionForm里就是n个属性和对应的getter/setter。
页面form:
<html:form action="/modify.do" method="post">
<% OldBean ob=(OldBean)session.getAttribute("oldBean");%>
<html:text property="pro1" value="<%=ob.getPro1()%>" />
<html:text property="pro2" value="<%=ob.getPro2()%>" />
……
<html:text property="proN" value="<%=ob.getProN()%>" />
<html:submit value="submit" property="submit" />
</html:form>
出问题的几个属性跟其他属性除了名不一样,其他都一样,名也是完全按照命名规范的,页面上的属性名是copy过去的,不会写错。
jeck猫
湖上湖