我有一个控制器
@Controller
public class EmployeeController {
@ModelAttribute("employeeForm")
public EmployeeForm createForm(Model map, HttpSession session){
EmployeeForm form = new EmployeeForm ();
form.setName("TestName");
form.setAge("28");
form.setRank("1");
//calling service and getting data
EmployeeDTO eDTO = new EmployeeDTO();
eDTO = employeeService.getEmployeeDetails(employeeId);
if(null!=eDTO){
form.setName(eDTO.getName);//dto getName value = "Harry"
form.setAge(eDTO.getAge);//dto getAge value = "45"
form.setRank(eDTO.getRank);dto getRank value = "5"
}
return form;
}
@ModelAttribute("rankValues")
public<Integer> getRankValues(){
List<Integer> ranks= new ArrayList<Integer>();
for(int i=1;i<10;i++){
ranks.add(Integer.valueOf(i));
}
return ranks;
}
}
在jsp中:
<div class="eRank">
<form:select name="rank" id="employeeRank" class="test" path="rank">
<c:forEach items="${rankValues }" var="rank">
<option data-value="${rank}" value="${rank}">${rank}
</option>
</c:forEach>
</form:select>
</div>
我相信,因为我使用的是 spring 4,只要我设置了正确的路径,在我的例子中是排名,从调用服务获取的值(这里是 5 表示排名)应该在我的 jsp 下拉列表中自动选择,但它不会发生我。有人可以请告诉我在这里做错了什么。