【问题标题】:Bean property is not readable or has an invalid getter methodBean 属性不可读或具有无效的 getter 方法
【发布时间】:2015-03-03 07:17:51
【问题描述】:

所以,我的任务是为注册表路由编写一个简单的 Web 应用程序。使用 Spring MVC。所以我有“路线”类,我想在其中保留起点、终点和中间点列表。但我不明白,如何将值从 jsp 中列出(例如使用 jstl)。所以我决定解析一个字符串。

public class Route {
    private String start;
    private String finish;
    private String form;
    private List<String> list;

    public Route() {
    }

    public Route(String start, String finish, String route) {
        this.start = start;
        this.finish = finish;
        this.form = route;
        this.toList();
    }

    public Route(String start, String finish) {
        this.start = start;
        this.finish = finish;
        this.list = new ArrayList<>();
    }

    public void addTown(String town){
        list.add(town);
    }

    public String getStart() {
        return start;
    }

    public void setStart(String start) {
        this.start = start;
    }

    public String getFinish() {
        return finish;
    }

    public void setFinish(String finish) {
        this.finish = finish;
    }

    public List<String> getRoute() {
        return list;
    }

    public void setFormRoute(String route) {
        this.form = route; 
        this.toList();
    }    

    private void toList()
    {
        String[] temp = form.split(",");
        for(String temp1 : temp) {
            list.add(temp1);
        }
    }
}

并遵循 JSP:

<h2><a href="find.htm">Найти существующий маршрут</a><br/><br/>
    Добавить маршрут</h2>
<h3> 
    <spring:nestedPath path="route">
        <form modelAttribute="routeAttribute" method="POST" action="${add}">
            Пункт отправления:
            <spring:bind path="start">
                <input type="text" name="${status.expression}" value="${status.value}">
            </spring:bind><br/><br/>                    
            Пункт прибытия:
            <spring:bind path="finish">
                <input type="text" name="${status.expression}" value="${status.value}">
            </spring:bind><br/><br/>
            Промежуточные пункты (через запятую):
            <spring:bind path="form">
                <input type="text" name="${status.expression}" value="${status.value}">
            </spring:bind><br/><br/>

            <input type="submit" value="Сохранить">
        </form>
    </spring:nestedPath>

如果需要,我可以发布控制器代码。 我有一个错误:

Bean property 'form' is not readable or has an invalid getter method: Does the return type of the getter match the parameter type of the setter?

谁能解释一下我做错了什么?

【问题讨论】:

    标签: java spring spring-mvc model-view-controller


    【解决方案1】:

    按照错误消息的指示将表单的getter方法添加到bean

    public String getForm() {
       return form;
    }
    

    setForm应该有对应的方法

    public void setForm(String form) {
       this.form = form;
    }
    

    【讨论】:

    • getter 和 setter 都应该被添加。已经有“setFormRoute”,它可能是一个 setter,但在这种情况下,它应该重命名为 setForm(String form)。
    • setFormRoute 应该被拆分成两个独立的新方法setForm 和setRoute
    【解决方案2】:

    添加关注

    public String getForm(){
        return form;
    }
    
    public void setForm(String form){
        this.form = form;
        this.toList();
    }
    

    【讨论】:

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