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

属性不可读或具有无效的getter方法

端木志诚
2023-03-14

错误:org.springframework.beans.NotReadable财产异常: bean类[com.sprhib.model.团队]的无效属性“组织”: Bean属性“组织”不可读或具有无效的getter方法:getter的返回类型是否与塞特?

有表格:团队、组织。有一对多的关系。

团队模式

@Entity
@Table(name="teams")
public class Team {

    private Organization organization;

    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "FK_Organization_id", nullable = false)
    public Organization getOrganization() {
        return organization;
    }

    public void setOrganization(Organization organization) {
        this.organization = organization;
    }
}

组织

@Entity
@Table(name = "organization")
public class Organization {
    private Set<Team> teams;

    @OneToMany(fetch = FetchType.EAGER, mappedBy = "organization")
    public Set<Team> getTeams() {
        return teams;
    }

    public void setTeams(Set<Team> teams) {
        this.teams = teams;
    }
}

JSP

<form:form method="POST" commandName="team" action="${pageContext.request.contextPath}/team/add.html">    
     <form:select path="organizations">
         <form:option value="${organization}">
             <c:out value="${organization.name}"/>
         </form:option>
     </form:select>
</form:form>

如何让spring让所有组织都使用JSP?

更新:

我使用controller将所有组织和新团队对象的列表传递给jsp:

@Controller
@RequestMapping(value="/team")
public class TeamController {

    @Autowired
    private TeamService teamService;

    @Autowired
    private OrganizationService organizationService;

    @RequestMapping(value="/add", method=RequestMethod.GET)
    public ModelAndView addTeamPage() {
        ModelAndView modelAndView = new ModelAndView("teams/add-team-form");
        modelAndView.addObject("team", new Team());
        modelAndView.addObject("organizations", organizationService.getOrganizations());

        return modelAndView;
    }

更新2:

commandName=“team”是否限制使用多个模型属性,在这种情况下有两个:组织团队?如何让它工作?

自定义属性名称:commandName描述:表单对象在其下公开的模型属性的名称。默认为“command”。必需:false可以具有运行时值:true

共有1个答案

支嘉祥
2023-03-14
<form:select path="organization">
    <form:options items="${organizations}" />
</form:select>

也可以同时使用这两个选项,例如用于添加默认的未选中选项:

<form:select path="organization">
    <form:option value="" label="- Select -"/>
    <form:options items="${organizations}" />
</form:select>

将被选择的值将在通过表单传递的团队bean中结束;路径属性用于确定将在团队中设置的属性,在这种情况下,它是组织(非组织)

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

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

  • 谁能看看这个错误并帮助我吗?我花了两个小时去找问题,但我没有找到解决办法。列出数据是可行的,但问题是在使用action=“saveCategory添加jsp时。 org.springframework.beans.NotReadablePropertyException:bean类[java.util.ArrayList]的属性“category name”无效:bean属性“category n

  • 我是新来的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页面在下面 下面提供了我的控制器