2014-10-16 128 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

相關問題