2016-02-15 2 views
-1

Когда я запускаю проект, он просто отображает структуру таблицы. а не данные. все работает нормально. просто он отображает структуру таблицы и заголовок Email и Password. но данные не отображаются.Запрос на выбор Spring не отображает данные на странице

controller_fetch.java

public class controller_fetch extends model.modelclass { 
SqlRowSet srs=null; 
ArrayList arraylist=null; 
    @RequestMapping(value = "/list") 
    public ArrayList list(HttpServletRequest request, HttpServletResponse response) throws ClassNotFoundException { 
     try { 
      arraylist = new ArrayList(); 
      modelclass obj = new modelclass(); 
      SimpleDriverDataSource dataSource = new SimpleDriverDataSource(); 
      dataSource = new dbconnection.connection().getConnection(dataSource); 
      JdbcTemplate jt = new JdbcTemplate(dataSource); 
      String sql = "SELECT * FROM user_info"; 
      srs = jt.queryForRowSet(sql); 

      while (srs.next()) { 
       obj.setEmailid(srs.getString("email_id")); 
       obj.setPwd(srs.getString("pwd")); 
      arraylist.add(obj); 
      } 

     } catch (Exception ex) { 
      ex.printStackTrace(); 
     } 
     return arraylist; 
    } 

} 

list.jsp

$ {ArrayList} всегда нуль. не получая возвращаемое значение от контроллера.

  <table> 
      <tr><td><b>Email</b></td><td><b>Password</b></td></tr> 
      <c:forEach items="${arraylist}" var="value"> 
      <tr> 
       <td>${value.email_id}</td> 
       <td>${value.pwd}</td>    
      </tr> 
     </c:forEach>    
     </table> 
+0

Пробовали ли вы отладку? –

+0

yes .. $ {arraylist} всегда null. не получая возвращаемое значение от контроллера –

+0

вы пробовали использовать ''? EDIT: ah wait, если $ {arraylist} всегда null, тогда это не имеет значения. попробуйте это в любом случае – bmarkham

ответ

0

Я думаю, что этот подход гораздо проще, если вы используете Spring MVC. Я все еще новичок, но я все еще надеюсь, что это сработает для вас.

В вашем контроллере

@RequestMapping(value = "/list", method = RequestMethod.GET) 
public ModelAndView list(HttpServletRequest request, HttpServletResponse response) throws ClassNotFoundException { 
     ModelAndView model = new ModelAndView();   
     try { 

     arraylist = new ArrayList(); 
     modelclass obj = new modelclass(); 
     SimpleDriverDataSource dataSource = new SimpleDriverDataSource(); 
     dataSource = new dbconnection.connection().getConnection(dataSource); 
     JdbcTemplate jt = new JdbcTemplate(dataSource); 
     String sql = "SELECT * FROM user_info"; 
     srs = jt.queryForRowSet(sql); 

     while (srs.next()) { 
      obj.setEmailid(srs.getString("email_id")); 
      obj.setPwd(srs.getString("pwd")); 
     arraylist.add(obj); 
     } 
     model.addObject("arraylist", arraylist); 

    } catch (Exception ex) { 
     ex.printStackTrace(); 
    } 
    return model; 
} 

} 

И в СПЯ

<table> 
     <tr><td><b>Email</b></td><td><b>Password</b></td></tr> 
     <c:forEach items="${arraylist}" var="value"> 
     <tr> 
      <td><c:out value="${value.email_id}" /></td> 
      <td><c:out value="${value.pwd}" /></td>    
     </tr> 
    </c:forEach>    
    </table> 

Надеется, что это помогает

EDIT: положить ModelAndView выше try

+0

во-первых на странице контроллера после того, как цикл завершен ** arraylist ** получает 4 строки. отлично, поскольку в базе данных 4 строки. но в ** arraylist ** каждая строка получает *** одинаковые *** значения. –

+0

@PapanDebnath Контроллер возвращает те же значения? – bmarkham

+0

Arraylist получает 4 строки .. но каждый получает одинаковые значения .. предыдущее значение заменяется новым значением –

Смежные вопросы