我无法将模型中的数据绑定到视图中。我正在使用弹簧靴。目前我让它像这样工作:
@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>
我试图通过返回String而不是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;
}
}
答案 0 :(得分:0)
要在JSP
上呈现的对象应添加为Model属性:
@RequestMapping("/members")
public String getMembers(Model model) {
List<Member> members = memberDao.getMembers();
model.addAttribute("members", members);
return "member/membersList";
}
答案 1 :(得分:0)
你的第一种方式应该有效。如果没有,请检查JSP中是否有@taglib声明,例如:
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
如果你返回String(如你的第二个例子:&#34; members / membersList&#34;),Spring会尝试查找并显示名为membersList.jsp的JSP页面&#34; members&#34 ;地点。在这种情况下,参数不会传递给JSP。