【问题标题】:Spring getting error in get attribute methodSpring在get属性方法中出现错误
【发布时间】:2014-11-18 11:15:54
【问题描述】:

我想在 bean 的帮助下在第一个 modelandview 方法中设置属性,并尝试在同一个控制器中获取其他 modelandview 方法中的属性,但得到空值我的代码如下

@RequestMapping(value="/insert",method=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(value="/accinsert",method=RequestMethod.POST) public ModelAndView inserData(@ModelAttribute AccountBean accbean,HttpServletRequest rs,Model 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");
         }

【问题讨论】:

  • 但是你在哪里出错了,我的意思是做一些有问题的改变,然后告诉你在哪里出错了?
  • System.out.println("bf" + rs.getAttribute("customId"));在这一行中获得空值
  • 好的,但是你需要给出这样的模型属性名称 @ModelAttribute("xyz") 其中 xyz 将是你从 Jsp 或 UI 页面发送的模型属性。

标签: java spring


【解决方案1】:

从第一眼看你的代码,我注意到你的请求方法没有指定。在这种情况下(使用@ModelAttribute 时),您必须将其作为(POST)请求。

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

为什么?因为实际上您的对象将由于被视为 POST 请求的表单提交而被检索。试试那个东西并检查结果。如果问题仍然存在,则可能是您负责提交数据的表示层(例如 JSP 页面)中存在一些真正的问题。

祝你好运!

【讨论】:

  • haseem 我以前只是尝试过,但在这一行得到 null System.out.println("xxx" + session.getAttribute("customId"));
  • @NirrajSingh 您的代码中没有提到该行!
  • @NirrajSingh 这意味着您没有会话存储在服务器中!这就是你得到 null 的原因,确保会话已创建!
  • @Hatem 我认为问题不在于你给出的描述。这可能是解决方案.. @ModelAttribute("xyz") 其中 xyz 将是您从 Jsp 或 UI 页面发送的模型属性。
  • 讨厌你的意思是变量xyz的名字应该和jsp里的一样
猜你喜欢
  • 1970-01-01
  • 2023-02-19
  • 2022-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-18
  • 2016-05-14
  • 1970-01-01
相关资源
最近更新 更多