我正在开发一个基于Struts2的项目。我有一个名为AddCentreNestedForm
的POJO,它有一个名为Centres
的String []类型的属性。
所以
public class AddCentreNestedForm{
....
....
private String[] Centres = new String[]{"-1","-1","-1","-1","-1","-1"};
...
...
public String[] getCentres(){
return Centres;
}
public void setCentres(String[] Centres){
this.Centres = Centres;
}
}
现在在动作类中,我有一个如下声明:
String[] centres =null;
...
...
centres = BeanUtils.getArrayProperty(addCentreNestedForm, "Centres");
在这一行上,它给出了异常:
java.lang.NoSuchMethodException: Unknown property 'Centres'
' addCentreNestedForm'是POJO AddCentreNestedForm的一个实例。
我调试了应用程序,执行此行时,Centres
的值为{"Centres","-1"}.
在谷歌搜索此异常时,它提到当BeanUtils
无法为上述属性找到正确的getter方法时会发生此异常。
请让我知道getter方法名称应该是什么,我将其命名为' getCentres()'。如果有任何其他解决方案,请告诉我。
答案 0 :(得分:2)
尝试centers
而不是Centers
。假设属性处于驼峰状态。
答案 1 :(得分:0)
我厌倦了将'中心'属性设置为'中心',但在这样做之后,从jsp到POJO属性的值不再被填充。我还对jsp页面进行了更改,并将“中心”转换为“中心”,但没有任何帮助。然后我尝试了一个简单的解决方案,它的工作我简单地使用了getter方法,即getCentres(),它起作用了。所以我删除了包含BeanUtils的行,而是从getCentres()获取了值。