当前位置: 首页 > 知识库问答 >
问题:

Bean属性“category name”不可读或具有无效的getter方法

鲜于光赫
2023-03-14

谁能看看这个错误并帮助我吗?我花了两个小时去找问题,但我没有找到解决办法。列出数据是可行的,但问题是在使用action=“saveCategory添加jsp时。

org.springframework.beans.NotReadablePropertyException:bean类[java.util.ArrayList]的属性“category name”无效:bean属性“category name”不可读或具有无效的getter方法:getter的返回类型是否与setter的参数类型匹配?

JSP:

<c:forEach var="tempInvoiceCategory" items="${invoiceCategory}">
    <tr>
        <td>${tempInvoiceCategory.categoryName}</td>
        <td>
            <button type="button" class="btn btn-info">Edit</button>
            <button type="button" class="btn btn-danger">Delete</button>
        </td>
    </tr>
</c:forEach>

<form:form class="forms-sample" action="saveCategory" modelAttribute="invoiceCategory" method="POST">
    <div class="form-group">
        <label>Nazwa Kategorii</label>
        <form:input path="categoryName" type="text" class="form-control"/>
    </div>
    <button type="submit" class="btn btn-primary mr-2">Submit</button>
</form:form>

实体:

@Entity
@Table(name="T_INVOICE_CATEGORY")
public class InvoiceCategory {
    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    @Column(name="ID_CATEGORY")
    private int id;
    
    @Column(name="CATEGORY_NAME")
    private String categoryName;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getCategoryName() {
        return categoryName;
    }

    public void setCategoryName(String categoryName) {
        this.categoryName = categoryName;
    }

    @Override
    public String toString() {
        return "InvoiceCategory [id=" + id + ", categoryName=" + categoryName + "]";
    }
    
}

控制器:

@Controller
@RequestMapping("/invoice")
public class InvoiceController {
    
    @Autowired
    private InvoiceCategoryService invoiceCategoryService;
    
    @GetMapping("/listCategory")
    public String listCategory(Model theModel) {
        
        List<InvoiceCategory> invoiceCategory = invoiceCategoryService.getInvoiceCategory();
        
        theModel.addAttribute("invoiceCategory",invoiceCategory);
        
        return "add-invoice-category";
    }
        
    @PostMapping("/saveCategory")
    public String saveCustomer(@ModelAttribute("invoiceCategory") InvoiceCategory theInvoiceCategory) {
        invoiceCategoryService.saveInvoiceCategory(theInvoiceCategory);
        
        return "redirect:/customer/list";
    }
}

共有1个答案

曾明诚
2023-03-14

我认为问题是模型属性InvoiceCategorylist 并且在同一个JSP中尝试构建项目列表和尝试访问该项目的表单,但它是list :

<form:form class="forms-sample" action="saveCategory" modelAttribute="invoiceCategory" method="POST">
    <div class="form-group">
        <label>Nazwa Kategorii</label>
        <form:input path="categoryName" type="text" class="form-control"/>
    </div>
    <button type="submit" class="btn btn-primary mr-2">Submit</button>
</form:form>

请尝试注释此部分并再次运行应用程序。

 类似资料:
  • 因此,我有一个任务来编写一个简单的注册表路由Web应用程序。使用Spring MVC。所以我有“路线”类,在那里我想保留起点、终点和中间点列表。但是我不明白,如何把值从jsp列表(例如使用jstl)。所以我决定解析一个字符串。 并遵循JSP: 如果有必要,我可以发布控制器代码。我有一个错误: 谁能解释一下我做错了什么?

  • 我是Spring的新手,我有个例外。 我有一个jsp,有很多选择。它们都工作正常,但有一个显示了这个例外: 我正在以与其他工作正常的人相同的方式实施selct。下面是jsp代码: 这里是控制器: 这里,实体Expediente: 最后是TipoExpedinte实体 我认为这可能发生,因为PharmantePadre属性是同一实体Pharmante的外键,但我不知道如何解决它。。。 要帮忙吗?谢谢

  • 错误: 有表格:团队、组织。有一对多的关系。 团队模式 组织 JSP 如何让spring让所有组织都使用JSP? 更新: 我使用controller将所有组织和新团队对象的列表传递给jsp: 更新2: 是否限制使用多个模型属性,在这种情况下有两个:和?如何让它工作? 自定义属性名称:commandName描述:表单对象在其下公开的模型属性的名称。默认为“command”。必需:false可以具有运

  • 我是新来的Spring靴。我在基于javax的验证上遇到了麻烦。控制器期望从POSTendpoint获得json obj的列表。在JSON请求json数组中,如果或为空,我得到正确的400错误。但是,当或为空时,它会抛出500个带有错误消息的异常: 控制器。JAVA 汽车JAVA Engine.java CollectionValidator。JAVA 验证者Advice.java 请求/响应:U

  • 在“项目创建”视图中,我需要一个选择框,该框显示所有拥有类似Chef Projet的Rolename的用户 以下是Projet、Usilizateur最重要的摘录: 用户: 当提交表格时,被选中的用户将被分配到项目中。 Projets。jsp: 管理员控制器: 这是堆栈跟踪:

  • 我收到以下错误“bean类[java.util.ArrayList]的无效属性'username]:bean属性'username'不可读或具有无效的getter方法”。 虽然我有正确的表单bean,名称为username,但是我仍然收到了这个错误,你能帮我解决这个错误吗。。? 我的jsp页面在下面 下面提供了我的控制器