因此,我尝试使用openweather api制作一个简单的天气应用程序,但无法使此表格正常工作。每一次,我都会收到一个错误,提示th:field SpringInputGeneralFieldTagProcessor
。我不确定为什么它不起作用,因为*{name}
指向示例类中的有效吸气剂,用th:object="example"
表示。所以我不确定为什么它不起作用。
这是html
<form action="#" th:action="@{/weather}" th:object="${example}" method="post">
<input class="searchInputBar" name="name" type="text" th:field="*{name}" placeholder="Enter a city"/>
<p><input type="submit" value="Get Forecast" /></p>
</form>
weathercontroller.java
@Controller
public class WeatherController {
// @GetMapping("/weather")
@RequestMapping(value="/weather", method = RequestMethod.GET)
public String greetingForm(Model model) throws APIException {
model.addAttribute("weather", new example());
return "greeting";
}
// @PostMapping(value = "/weather")
@RequestMapping(value="/weather", method = RequestMethod.POST)
public String greetingSubmit(@Valid @ModelAttribute example example, BindingResult bindingResult, Model model)
{
model.addAttribute("weather", example);
return "result";
}
public class example {
@SerializedName("name")
@Expose
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
其余的代码可以在我以前的帖子here中找到标记为正确的答案。是的,我不确定为什么它会起作用。如果映射错误/控制器存在语法错误,则可能是因为我尝试并删除了大量先前的尝试,并且可能留下了一些东西。谢谢你的帮助!