繁体   English   中英

名称下的bean属性没有可用的getter方法

[英]No getter method available for property for bean under name

Struts(1.38)noob,出现以下错误:名称为hsForm的bean的属性hs.hasRelationshipToTeam没有可用的getter方法。 有人告诉我在HSDivForm中创建getHs和setHs方法,但这是问题吗? 或者那我该怎么做呢?

我的豆子:

public class HS extends Entry implements Serializable,Cloneable  {
  private Boolean hasRelationshipToTeam = false;

  public boolean isHasRelationshipToTeam() 
  { return hasRelationshipToTeam; }

  public void setHasRelationshipToTeam(boolean hasRelationshipToTeam) 
  { this.hasRelationshipToTeam = hasRelationshipToTeam; }
}

我的表格:

import my.bean.HS;

public class HSForm extends ActionForm
{
  private HS hs = new HS();

  public HSForm() 
  { super(); }
}

我的jsp:

<html:form styleId="HSDivForm" action="/disclosure/hsAction" >
<table>
  <tr id = "q-rel">
    <td colspan="2" align="center">
      <br />
      Is there a team relationship?
      <br />
      Yes<html:radio property="hs.hasRelationshipToTeam" value="yes" />    
      No<html:radio property="hs.hasRelationshipToTeam" value="no" />
    </td>
  </tr>
</table>
</html>

这是由于您在属性中输入的类型:

private Boolean hasRelationshipToTeam = false;

在将属性声明为BooleanIntrospector不会将其视为原始boolean因此它需要一个getXXXsetXXX

如果您的属性是boolean型原始类型,则Introspector希望将isXXXgetXXXsetXXX方法捆绑在一起。

getXXXisXXX是您的getter方法,而setXXX是您的setter方法。

我希望这有帮助。

将您的吸气剂更改为

 public boolean isHasRelationshipToTeam() 
  { 
   return hasRelationshipToTeam;
  }

以前是

isHasRelationshipToTeamy()   y is there in the end<----

我也怀疑你的声明

  private Boolean hasRelationshipToTeam = false;  

更改为

  private boolean hasRelationshipToTeam = false; //boolean is primitive here

对于普通的Java类,您可以为其指定任何名称,并返回任何variable

但是bean具有标准格式,您不能更改它们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM