java.lang.IllegalStateException: ни BindingResult, ни простой целевой объект для имени компонента 'CityInfos' не доступны в качестве атрибута запроса - PullRequest
0 голосов
/ 10 ноября 2018

Я не могу заставить свою форму работать, я пробовал много вещей с разных форумов, но не могу понять, как это сделать

мой контроллер:

@RequestMapping(value = "/board", method = RequestMethod.GET)
public String getCityValues(Model model) {
    model.addAttribute("CityInfos", new CityInfos());
    return "board";
}

@PostMapping("/board")
public String CitySubmit(@ModelAttribute CityInfos cityInfos) {
    return "board";
}

мой класс:

public class CityInfos {

    private String cityName;
    private String countryCode;

    public CityInfos() {}

    public CityInfos(String cityName, String countryCode) {
        this.cityName = cityName;
        this.countryCode = countryCode;
    }

    public String getCityName() {
        return cityName;
    }

    public String getCountryCode() {
        return countryCode;
    }

    public void setCityName(String cityName) {
        this.cityName = cityName;
    }

    public void setCountryCode(String countryCode) {
        this.countryCode = countryCode;
    }
}

и board.html

<form th:action="@{/board}" th:object="${CityInfos}" method="post">
    <p>Name of the City : <input type="text" th:text="*{cityName}" /></p>
    <p>Country code : <input type="text" th:text="*{countryCode}" /></p>
    <input type="submit" value="Submit" />
</form>

Я просто хочу сохранить значения входного текста в моем классе Java

1 Ответ

0 голосов
/ 10 ноября 2018

Попробуйте это:

@RequestMapping(value = "/board", method = RequestMethod.GET)
public ModelAndView getCityValues(ModelAndView mv) {
    mv.setViewName("board");
    mv.addObject("CityInfos", new CityInfos());

    return mv;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...