2016-03-05 74 views
0

我正在从控制器类调用函数。函数是在另一个类函数中定义的。但在执行返回代码之前它会给出错误。 (作为调试),它从行跳转modelMap.put(“list”,arraylist);它给出异常,nullpointerexception。函数类函数没有返回到控制器类调用函数

controller.java

@RequestMapping(value = "/index.htm") 
    public String getData() throws ClassNotFoundException { 
     function obj = new function(); 
     ModelMap modelMap = null; 
     obj.getdata(modelMap); 
     return "index"; 
    } 

function.java

public ModelMap getdata(ModelMap modelMap) throws ClassNotFoundException { 
     SqlRowSet srs = null; 
     ArrayList arraylist = new ArrayList(); 
     SimpleDriverDataSource dataSource = new SimpleDriverDataSource(); 
     dataSource = new connection.connection().getConnection(dataSource); 
     JdbcTemplate get = new JdbcTemplate(dataSource); 
     //Operation 
     String sql = "SELECT * FROM user_info"; 
     srs = get.queryForRowSet(sql); 
     while (srs.next()) { 
      pojo obj = new pojo(); 
      obj.setEmail_id(srs.getString("email_id")); 
      obj.setPassword(srs.getString("pwd")); 
      arraylist.add(obj); 
     } 

     modelMap.put("list", arraylist); 
     return modelMap; 
    } 

回答

0

modelMapnull,这就是为什么你NullPointerException。你需要初始化它

ModelMap modelMap = new ModelMap(); 
obj.getdata(modelMap); 
+0

thankss ..其返回.. :)但新问题,回到控制器后obj为空。虽然modelMap有数据。 –

+0

@SurajRoy您发布的代码中没有任何内容会使'obj'为null。此外,如果'obj'为'null',则不能'obj.getdata(modelMap);'(我假设你的意思是来自'function obj = new function();')的'obj'。 – Guy