No getter method…… Struts高手们进

来源:百度知道 编辑:UC知道 时间:2024/05/26 15:49:41
这个项目由jbuilder移到eclipse上的,jb下是顺利运行的。但现在出现了问题。
当用struts标签
<logic:iterate id="user" name="users"....>
<bean:write name="user" property="name"/>
<bean:write name="user" property="user_info"/>
</logic:iterate>
这时时候,错误No getter method for property uservo.user_info of bean user

但是user_info是存在的,我如果直接写
<%
java.util.List list=(List)request.getAttribute("users");
Iterator i1=list.iterator();
while(i1.hasNext())
{
UserVO user1=(UserVO)i1.next();
out.println(user1.getName());
out.println(user1.getUser_info());//这可以取到值!
}
%>
那么为什么,我用标签的时候,user_info就得不到呢,怪异啊~~~
我换成了info,一样也是找不到。头一次遇到这么神奇的事,我觉得不是语法的错误,大家再帮忙想想
No getter method for property info of bean

两种可能:

1.你的vo对象没有shen生成get方法
2.生成的get方法不符合规则,<bean:write />的时候会自动调用get方法,get方法的规则是:你要write的property前面带get,property首字母大写。

out.println(user1.getName());
out.println(user1.getUser_info());

检查user对象是否存在name,和user_info这两个属性,大小写完全匹配,如果有,看是否生成了get方法,而且符合规则。

//.............
刚看见No getter method for property info of bean user

你检查你页面是否有user这个bean,或许不是这里出错了。

可能是违反了java代码规范,类似getUser_info()这样的方法你显示的调用还可以,但是struts就不认了,它有自己的一套匹配原则,首先要遵守驼峰原则,你试着把属性改为userInfo,然后方法为getUserInfo()试一下吧。

同意, struts 是用 beanutil来实现的,所以你得按照java的代码规范.

把你的getter,setter方法的代码copy到UserForm 里面