尝试通过 JSTL 表单标签提交表单时收到错误 "Invalid property 'xxx' of bean class"
Receivng error "Invalid property 'xxx' of bean class" when trying to submit form via JSTL form tags
我正在尝试构建一个简单的 Spring 项目,用户可以在其中通过表单搜索数据库。如果我使用常规表单输入,它工作得很好,但如果我尝试使用 JSTL 表单标签,它就会中断。任何帮助将不胜感激
JSP:
<form:form action="/search" method="post" modelAttribute="music">
<form:label path="artist">Artist</form:label>
<form:errors path="artist"/>
<form:input path="artist"/>
<input type="submit" value="Submit"/>
控制器:
@RequestMapping(value="/search", method=RequestMethod.POST)
public String search(@RequestParam(value="artist") String search, Model model) {
List<Music> results = musicService.findArtist(search);
model.addAttribute("search", search);
model.addAttribute("results", results);
return "music/search.jsp";
}
服务:
public List<Music> findArtist(String search){
return musicRepository.findByArtistContaining(search);
}
回购:
List<Music> findByArtistContaining(String search);
真的不确定我做错了什么,但我确定我以某种方式弄乱了 JSP 代码。我只想通过回购方法 findByArtistContaining
从数据库中提取结果
我在尝试访问时收到的错误是:
Invalid property 'artist' of bean class [java.util.ArrayList]: Bean property 'artist' is not readable or has an invalid getter method: Does the return type of the getter match the parameter type of the setter?
抱歉来晚了,但我认为这不会起作用,因为请求参数与您尝试将其映射到的字符串的名称不匹配,如此处所述;
因此更改为以下应该有效;
@RequestParam(name="artist") String artist,
我正在尝试构建一个简单的 Spring 项目,用户可以在其中通过表单搜索数据库。如果我使用常规表单输入,它工作得很好,但如果我尝试使用 JSTL 表单标签,它就会中断。任何帮助将不胜感激
JSP:
<form:form action="/search" method="post" modelAttribute="music">
<form:label path="artist">Artist</form:label>
<form:errors path="artist"/>
<form:input path="artist"/>
<input type="submit" value="Submit"/>
控制器:
@RequestMapping(value="/search", method=RequestMethod.POST)
public String search(@RequestParam(value="artist") String search, Model model) {
List<Music> results = musicService.findArtist(search);
model.addAttribute("search", search);
model.addAttribute("results", results);
return "music/search.jsp";
}
服务:
public List<Music> findArtist(String search){
return musicRepository.findByArtistContaining(search);
}
回购:
List<Music> findByArtistContaining(String search);
真的不确定我做错了什么,但我确定我以某种方式弄乱了 JSP 代码。我只想通过回购方法 findByArtistContaining
从数据库中提取结果我在尝试访问时收到的错误是:
Invalid property 'artist' of bean class [java.util.ArrayList]: Bean property 'artist' is not readable or has an invalid getter method: Does the return type of the getter match the parameter type of the setter?
抱歉来晚了,但我认为这不会起作用,因为请求参数与您尝试将其映射到的字符串的名称不匹配,如此处所述;
因此更改为以下应该有效;
@RequestParam(name="artist") String artist,