2016-03-05 3 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

modelMap является null, поэтому вы получаете NullPointerException. Вам необходимо его инициализировать

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

спасибо .. его возвращение .. :) но новая проблема, после возвращения в контроллер obj имеет значение null. хотя modelMap имеет данные. –

+0

@SurajRoy В коде, который вы отправили, ничего не будет, что сделает 'obj'' null'. Более того, если 'obj' был' null', вы не могли бы 'obj.getdata (modelMap);' (я предполагаю, что вы имеете в виду 'obj' из' function obj = new function(); '). – Guy