Tôi có đối tượng biểu mẫu mà tôi đã đặt để yêu cầu trong trình xử lý yêu cầu GET trong bộ điều khiển Spring của tôi. Lần đầu tiên người dùng nhập vào trang, một đối tượng biểu mẫu mới sẽ được thực hiện và thiết lập để yêu cầu. Nếu người dùng gửi biểu mẫu, thì đối tượng biểu mẫu được điền từ yêu cầu và bây giờ đối tượng biểu mẫu có tất cả các thuộc tính của người dùng. Sau đó, biểu mẫu được xác thực và nếu xác thực là ok, thì biểu mẫu được lưu vào cơ sở dữ liệu. Nếu biểu mẫu không được xác nhận, tôi muốn lưu đối tượng biểu mẫu vào phiên và sau đó chuyển hướng đến trang xử lý yêu cầu GET. Khi yêu cầu được chuyển hướng đến trình xử lý GET, thì nó sẽ kiểm tra xem phiên có chứa đối tượng biểu mẫu hay không.Spring Framework 3 và thuộc tính phiên
tôi đã tìm ra rằng có @SessionAttributes ("hình thức") chú thích trong mùa xuân, nhưng đối với một số lý do sau doesnt làm việc, bởi vì lúc đầu tiên, hình thức thuộc tính phiên là null và nó mang lại cho lỗi:
org.springframework.web.HttpSessionRequiredException: Session attribute 'form' required - not found in session
đây là bộ điều khiển của tôi:
@RequestMapping(value="form", method=RequestMethod.GET)
public ModelAndView viewForm(@ModelAttribute("form") Form form) {
ModelAndView mav = new ModelAndView("form");
if(form == null) form = new Form();
mav.addObject("form", form);
return mav;
}
@RequestMapping(value="form", method=RequestMethod.POST)
@Transactional(readOnly = true)
public ModelAndView saveForm(@ModelAttribute("form") Form form) {
FormUtils.populate(form, request);
if(form.validate())
{
formDao.save();
}
else
{
return viewForm(form);
}
return null;
}
Nó đã giúp tôi nhưng, ngoại lệ ném của nó nếu được gọi là lần đầu tiên. – digz6666
@ digz6666, xem [# SPR-4452] (https://jira.springsource.org/browse/SPR-4452) –
Sẽ hữu ích nếu mùa xuân đã triển khai chú thích tham số phương thức cho phép truy cập vào thuộc tính phiên (trong giống như cách bạn có thể truy cập thông số yêu cầu). 'public void doSometing (@SessionAttribute (" cat ") Cat cat) {' –