I am not able to bind the data in the model to the view. I am using spring boot. At the moment I got it working like this:
@RequestMapping("/members")
public ModelAndView getMembers() {
List<Member> members = memberDao.getMembers();
ModelAndView model = new ModelAndView("member/membersList");
model.addObject("members", members);
return model;
}
This let me access the model attribute using
<c:forEach items="${members}" var="member" varStatus="memberStatus">
<tr>
<td>${member.id}</td>
<td>${member.firstName}</td>
<td>${member.lastName}</td>
</tr>
</c:forEach>
I am trying to get it work by returning a String rather than the ModelAndView. Something like this:
@RequestMapping("/members")
public String getMembers(ModelAndView model) {
List<Member> members = memberDao.getMembers();
model.addObject("members", members);
return "member/membersList";
}
I am not so sure about using @ModelAttribute on the java side or commandName in the jsp. Is that something I need to look at? Can someone please enlighten on what is going wrong?
Adding Controller code:
@Controller
public class MemberController {
@Autowired
private MemberDAO memberDao;
@RequestMapping("/members")
public ModelAndView getMembers() {
List<Member> members = memberDao.getMembers();
ModelAndView model = new ModelAndView("member/membersList");
model.addObject("members", members);
return model;
}
}