我无法将模型中的数据绑定到视图。我正在使用弹簧靴。目前,我的工作方式如下:
@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";
}