0
我是Spring MVC的新手,遵循「Spring in Action」一書,從頭開始創建我自己的項目。java.lang.IllegalStateException:BindingResult和bean名稱'newReward'的純樸目標對象都不作爲請求屬性
java.lang.IllegalStateException:無論BindingResult也不平原目標對象的bean名字「獎勵」可以作爲請求屬性
內容試圖達到「reward.jsp」當我得到以下異常我的課:
reward.jsp
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="sf"%>
<html>
<head>
<title>Rewards</title>
</head>
<body>
<h1>Rewards module</h1>
<h2>Add reward</h2>
<sf:form action="add" method="post" modelAttribute="reward">
Reward name:<sf:input path="name" />
Point value:<sf:input path="pointValue" />
<input type="submit" value="Add">
</sf:form>
<br />
<h2>Reward list</h2>
<table>
<c:forEach var="reward" items="${rewardList}">
<tr>
<td>${reward.name}</td>
<td>${reward.pointValue}</td>
<td><a href="delete/${reward.id}">delete</a></td>
</tr>
</c:forEach>
</table>
當我刪除表單輸入時,它工作得很好。
RewardController.java
@Controller
public class RewardController {
@Autowired
private RewardService rewardService;
@RequestMapping("/reward")
public String listRewards(Map<String, Object> model) {
model.put("rewardList", rewardService.listReward());
return "reward";
}
@RequestMapping(value = "/add", method = RequestMethod.POST)
public String addReward(@ModelAttribute("reward") Reward reward,
BindingResult result) {
rewardService.addReward(reward);
return "redirect:/reward";
}
@RequestMapping("/delete/{rewardId}")
public String deleteContact(@PathVariable("rewardId") long rewardId) {
rewardService.removeReward(rewardId);
return "redirect:/reward";
}
}
在sf:form標記中使用它之前,您需要在模型中綁定獎勵對象。 – 2013-03-07 10:13:41