2017-05-24 33 views
2

我無法將模型中的數據綁定到視圖。我正在使用彈簧引導。目前,我得到它的工作是這樣的:綁定模型數據以查看 - 春天

@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"; 
} 

我不是很確定關於JSP中的Java端或commandName使用@ModelAttribute。那是我需要看的東西嗎?有人可以請指教什麼是錯的?

添加控制器代碼:JSP要呈現

@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

向我們展示控制器代碼? – Arpit

回答

0

應添加對象爲Model屬性:

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

你的第一種方法應該工作。如果沒有請檢查您是否在你的JSP已經@taglib聲明,例如:

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 

如果返回的字符串(如在你的第二個例子:「會員/ membersList」)春季將設法找到並顯示JSP 「members」位置內的membersList.jsp的名稱。在這種情況下,參數不會傳遞給JSP。