2014-09-24 2 views
0

Я хочу установки атрибута в первом методе ModelAndView с помощью бобов и пытаюсь получить атрибуты в другом методе ModelAndView в одном контроллере, но получить нулевое значение моего код нижеSpring получения ошибки в методе атрибута прибудет

@ RequestMapping (значение = "/ вставка", метод = RequestMethod.POST)

 public ModelAndView inserData(@ModelAttribute SavingBeansavingBean,HttpServletRequestrs,Model m) { 


System.out.println(savingBean.getFirstName()); 





if (savingBean != null) 
    System.out.println("abho"); 
SavingBean saving = persionalService.insertData(savingBean); 

custid = saving.getCustomerId(); 
System.out.println(custid); 
m.addAttribute("customId",saving); 


System.out.println(saving.getDisgnProf()); 

List<SavingBean> list = new ArrayList<SavingBean>(); 
list.add(saving); 

return new ModelAndView("AccountInfo","list", list); 

} @RequestMapping (значение = "/ accinsert", метод = RequestMethod.POST) общественного ModelAndView inserData (@ModelAttribute AccountBean accbean, HttpServletRequest rs, модель m) {

SavingBean b = new SavingBean(); 

System.out.println("saas" + b.getCustomerId()); 
session = rs.getSession(); 


System.out.println("xxx" + rs.getAttribute("customId")); 
accbean.setCustid((Long) rs.getAttribute("customId")); 
AccountBean accbean1 = persionalService.insertacc(accbean); 

return new ModelAndView("welcome"); 
     } 
+0

, но где у меня ошибка, я имею в виду только внести некоторые изменения в вопрос и рассказать, где в точке u получить ошибку? – Krishna

+0

System.out.println ("bf" + rs.getAttribute ("customId")); в этой строке, получающей нулевое значение –

+0

okey, но вам нужно указать имя атрибута модели, как этот @ModelAttribute («xyz»), где xyz будет атрибутом модели, который отправляется с Jsp или страницы пользовательского интерфейса. – Krishna

ответ

0

С первого взгляда на ваш код я замечаю, что ваш метод запроса не указан. В этом случае (при использовании @ModelAttribute) вы должны сделать это как (POST) запрос.

@RequestMapping(value = "/insert", method = RequestMethod.POST) 
@RequestMapping(value = "/accinsert" , method = RequestMethod.POST) 

Почему? потому что на самом деле ваш объект будет извлечен из-за представления формы, которое рассматривается как запрос POST. Попробуйте это и проверьте результаты. Если проблема по-прежнему, возможно, у вас есть реальная проблема в вашем уровне презентации (например, JSP-страница), которая отвечает за отправку данных.

Удачи!

+0

haseem Я пробовал это только ранее, но получаю null в этой строке System.out.println ("xxx" + session.getAttribute ("customId")); –

+0

@NirrajSingh эта строка не упоминается в вашем коде! – Hatem

+0

@NirrajSingh это означает, что у вас нет сеанса, хранящегося на сервере! поэтому вы получили нуль, убедитесь, что сеанс создан! – Hatem

Смежные вопросы