【问题标题】:No getter method available for property for bean with name没有可用于具有名称的 bean 的属性的 getter 方法
【发布时间】:2013-07-07 08:41:07
【问题描述】:

我正在尝试使用 Struts 填充选择。但是,我收到此错误消息: 名称 com.packagename.branchImpl 下的属性标签没有可用的 getter 方法 在其查找的类中也没有名为“标签”的变量,所以我不知道它是如何查找label

表单类是一个非常典型的实体类

关于为什么会发生此错误的任何建议?

【问题讨论】:

    标签: java hibernate jsp struts javabeans


    【解决方案1】:

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

    我没有发布完整的错误和jsp等等,所以只是理解

    • 如果你正在使用它,首先检查属性文件。
    • 然后检查属性名称——例如名称、密码
    • 并检查您定义的setter 和getter 方法。仔细检查。
    • 那你发现setter和getter不一样那么应该是

    例如:

    public void setName(String name) {
        this.name = name;
    }
    public String getName() {
        return name;
    }
    

    虽然它会是:

    public void setname(String name)
    {
        this.name = name;
    }
    public String getname()
    {
        return name;
    }
    

    只是在使用 setter 和 getter 时的一个小错误。

    【讨论】:

      【解决方案2】:

      <cain:optionsCollection 应该是 <html:optionsCollection 可能是错字。最后一个标签使用property 属性来收集具有labelvalue 属性的bean。如果集合 bean 中有不同的属性名称,则可以使用标记的 labelvalue 属性指定它。例如,如果您有一个集合 List<MyBean>

      public class MyBean implements Serializable {
        private String key;
        private String name;
        //getters and setters for both
      
      }   
      

      那么你应该使用

      <html:select name="querySwiftLogForm" property="branch" >
          <html:optionsCollection name="querySwiftLogForm"  property="branchList" label="name" value="key"/> 
      </html:select>
      

      如果您没有可以与集合一起使用的 bean,那么您可以使用 LabelValueBean。您需要用该 bean 的实例填充集合。然后 lablevalue 该 bean 不需要属性,因为它将使用默认值。

      此外,如果您使用映射到操作的表单,则不需要name 属性。

      【讨论】:

      • 感谢 Roman 和 JB 两位。你是对的,我需要设置标签和值,但我也删除了自定义标签并使用了普通的 html:optionsCollection。改天我们会担心公司自定义标签!
      【解决方案3】:

      它正在寻找一个标签属性,因为这是 optionsCollection 所做的:

      此标签对一组 bean 进行操作,其中每个 bean 都有一个 label 属性和一个 value 属性。这些属性的实际名称可以使用该标签的标签和值属性来配置。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-03-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-11-27
        • 2021-06-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多