Я не могу получить ModelAttribute для второго запроса. Мой первый запрос — метод initForm(). Я подготовил объект Command и смог отобразить команду в jsp.
Через initForm() я заполняю команду и эту команду, которую я хочу, в editForm, когда я буду выполнять вызов ajax.
Вот моя весенняя форма
<form:form method="POST" action="addstudentdetails.htm" commandName="command">
Ignore what is inside this
Name: Shoaib Age:23 <a href="#" onclick="editstudentdetails(1,0)">edit</a>
</form:form>
Мой запрос ajax:
function editStudentDetails(studentId,index){
$.ajax(
{url:"editstudentdetails.htm",
method:"GET",
data:{"action":"edit","id":studentId,"index":index},
success: function(data) {
jQuery("#studentDetailsDiv").html(data)
}
}
)
}
В методе editStudentDetails()
у меня есть вызов метода ajax для перехода editForm()
контроллера.
Вот мой контроллер:
@Controller
public class StudentDetailsController {
@Autowired
private StudentDetailsDAO studentDetailsDAO;
@RequestMapping(value="/studentdetails.htm",method = RequestMethod.GET)
public String initForm(HttpServletRequest request,ModelMap map){
String action=request.getParameter("action");
StudentDetailsCommand command=new StudentDetailsCommand();
System.out.println("in controller"+action);
command.setStudents(studentDetailsDAO.findAll());
map.addAttribute("command", command);
return "studentdetails";
}
@RequestMapping(value="/editstudentdetails.htm",method = RequestMethod.GET)
public String editForm(ModelMap map,HttpServletRequest request){
map.addObject("index", request.getParameter("index"));
StudentDetailsCommand command=(StudentDetailsCommand)map.get("command");
System.out.println(command);
System.out.println(command.getStudents());//NullPointerException here.
map.addObject("command", command);
return "studentdetails";
}
}
Даже пробовал @ModelAttribute("studentDetailsCommand"), но не работал.
Я новичок в Spring 3.0, и я следовал всем решениям, которые приведены здесь, но ничего не сработало. Может ли кто-нибудь помочь мне, пожалуйста?