我无法将模型中的数据绑定到视图。我正在使用弹簧靴。目前,我的工作方式如下:

@RequestMapping("/members")
public ModelAndView getMembers() {
    List<Member> members = memberDao.getMembers();
    ModelAndView model = new ModelAndView("member/membersList");
    model.addObject("members", members);
    return model;
}

这让我使用
<c:forEach items="${members}" var="member" varStatus="memberStatus">
  <tr>
    <td>${member.id}</td>
    <td>${member.firstName}</td>
    <td>${member.lastName}</td>
  </tr>
</c:forEach>

我试图通过返回一个字符串而不是ModelAndView来使其工作。像这样:
@RequestMapping("/members")
public String getMembers(ModelAndView model) {
    List<Member> members = memberDao.getMembers();
    model.addObject("members", members);
    return "member/membersList";
}

我不太确定在Java端使用@ModelAttribute还是在jsp中使用commandName。那是我需要看的东西吗?有人可以指教出什么问题了吗?

添加控制器代码:
@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;
}
}

最佳答案

应该在JSP上呈现的对象应添加为Model属性:

@RequestMapping("/members")
public String getMembers(Model model) {
    List<Member> members = memberDao.getMembers();
    model.addAttribute("members", members);
    return "member/membersList";
}

08-04 18:31