Binding model data to view - Spring

Viewed 1558

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;
}
}
2 Answers
Related