2014-10-16 127 views
0

我得到的错误为Request processing failed; nested exception is java.lang.NumberFormatException: null请求处理失败;嵌套异常是java.lang.NumberFormatException:null

这里是我的代码:

@Controller 
@RequestMapping("/customerAdmin") 
public class CustomerAdmincontroller { 
     @InitBinder 
     public void initBinder(WebDataBinder binder) { 
      binder.registerCustomEditor(Customer.class, "customer", new PropertyEditorSupport() {@ 
       Override 
       public void setAsText(String customer) { 
     setValue(new Customer(Integer.parseInt(customer))); 
       } 
      }); 
     } 

     @RequestMapping(value = "/addProfile.htm", method = RequestMethod.GET) 
     public ModelAndView addProfileForm(ModelMap model, HttpServletRequest request) { 
      int id = Integer.parseInt(request.getParameter("id")); 
      System.out.println(id); 
      Profile profile = new Profile(); 
      Customer customer = new Customer(id); 
      profile.setCustomer(customer); 
      model.addAttribute("profile", profile); 
      ModelAndView mav = new ModelAndView("addProfile"); 
      return mav; 
     } 
} 

我得到错误的

2014年10月16日下午4点31分47秒调用

重度:Servlet.service()进行的servlet [dispatcherServlet]在上下文 与路径[/ CustomerPortal]抛出异常[Request processing failed;嵌套的例外是java.lang.NumberFormatException:空] 与根源

当我运行这个错误已经显示项目,我在这看到这个错误在这里,但仍对我来说是错误。任何人都可以帮助我? 我CONTROLER:

@Autowired 
    addozv stdDAO; 

    private ServletRequest request; 
    @SuppressWarnings({ "null"}) 
      @RequestMapping(value="/addadmins" , method = RequestMethod.POST) 
      public void addadmins(ModelMap model, HttpServletRequest requ) { 
       String username = requ.getParameter("username"); 
       String password = requ.getParameter("password"); 
       String nozv = requ.getParameter("nozv"); 
       String namefamily = requ.getParameter("namefamily"); 
       String codemely = requ.getParameter("codemely"); 
       String father = requ.getParameter("father"); 
       String adress = requ.getParameter("adress"); 
       String telephone = requ.getParameter("telephone"); 
       admins adm=new admins(); 
       adm.setUsername(username); 
       adm.setPassword(password); 
       adm.setNozv(Integer.parseInt(nozv)); 
       adm.setNamefamily(namefamily); 
       adm.setCodemely(Integer.parseInt(codemely)); 
       adm.setFather(father); 
       adm.setAdress(adress); 
       adm.setTelephone(Integer.parseInt(telephone)); 
       stdDAO.add(adm); 

的jdbc:

@Override 
    public void add(admins adm) { 
     String sql = "INSERT INTO admins " + 
       "username, password, nozv, namefamily, codemely, father, adress, telephone) VALUES (?, ?, ?, ?, ?, ?, ?, ?)"; 
     Connection conn = null; 
     try{ 
      conn = dataSource.getConnection(); 
      PreparedStatement ps=conn.prepareStatement(sql); 
      ps.setString(1, adm.getUsername()); 
      ps.setString(2, adm.getPassword()); 
      ps.setInt(3, adm.getNozv()); 
      ps.setString(4, adm.getNamefamily()); 
      ps.setInt(5, adm.getCodemely()); 
      ps.setString(6, adm.getFather()); 
      ps.setString(7, adm.getAdress()); 
      ps.setInt(8, adm.getTelephone()); 
      ps.executeUpdate(); 
      ps.close(); 
      } catch (SQLException e) { 
       throw new RuntimeException(e); 

      } finally { 
       if (conn != null) { 
        try { 
       conn.close(); 
      } catch (SQLException e) {} 
     }  
} 

和jsp页面这是真的,我不知道为什么已经是错误在这个页面。 此代码之前我写这篇文章的代码:

@SuppressWarnings("null") 
    @RequestMapping(value="/addozvv" , method = RequestMethod.GET) 
    public String addozv(ModelMap model) { 
     model.addAttribute("title", "ozv"); 


     return "addozvv"; 
    } 

    @SuppressWarnings("null") 
    @RequestMapping(value="/addozvv" , method = RequestMethod.POST) 
    public void showPageSaveozv(ModelMap model, HttpServletRequest req) { 
     String Id = req.getParameter("nozviat"); 
     String namefamily = req.getParameter("namefamily"); 
     String codemely = req.getParameter("codemely"); 
     String father = req.getParameter("father"); 
     String adress = req.getParameter("adress"); 
     String otelephone = req.getParameter("otelephone"); 
     String znamefamily = req.getParameter("znamefamily"); 
     String zcodemely = req.getParameter("zcodemely"); 
     String office = req.getParameter("office"); 
     String ztelephone = req.getParameter("ztelephone"); 

     ///////////// 
     ozviat ozv = new ozviat(); 

     ozv.setId(Integer.parseInt(Id)); 
     ozv.setNamefamily(namefamily); 

    ozv.setCodemely(Integer.parseInt(codemely)); 
     ozv.setFather(father); 
     ozv.setAdress(adress); 
     ozv.setOtelephone(Integer.parseInt(otelephone)); 
     ozv.setZnamefamily(znamefamily); 
     ozv.setZcodemely(Integer.parseInt(zcodemely)); 
     ozv.setOffice(office); 
     ozv.setZtelephone(Integer.parseInt(ztelephone)); 
     stdDAO.insert(ozv); 


    } 

但是当我运行该项目是TURE,但另外一个它是一个错误

+0

你怎么称呼它,它的URL,参数..细节的人.. – freakman 2014-10-16 11:18:02

回答

0

依我之见,可能是你叫/addProfile.htm没有ID参数和parseInt函数抛出该行的NPE:

int id = Integer.parseInt(request.getParameter("id"));

+0

肯定。谢谢你的回应。我解决了这个问题。我在jsp中使用了onclick。现在我有新问题http://stackoverflow.com/questions/26418560/how-to-get-id-based-on-login-user-when-i-click-link – user3599302 2014-10-17 05:44:00

相关问题