RequestMapping не достигается в контроллере и, следовательно, список не отображается на странице JSP - PullRequest
0 голосов
/ 09 июля 2019

Я разрабатываю простое приложение для управления тендерами, в котором я использую операции J2EE, Spring-mvc и CRUD в Eclipse IDE. Мне нужно извлечь список тендеров из базы данных и показать в JSP с помощью контроллера.Страница JSP отображается в @RequestMapping, но отображение не выполняется, и, следовательно, код, следующий за ним, не достигает.

Я уже пробовал не грубые операции и использовал различные методы, включая ModelAndViewи String, но проблема связана с отображением, которое не может выполняться при загрузке требуемой JSP.Ошибка не отображается.

Вот вызов сопоставления в контроллере

@RequestMapping("/viewTendersByUser")
public String viewTender(Model m) {
    System.out.println("in edit tender user controller");
    List<tender> tender = userDao.getTenderByCreator(name);
    m.addAttribute("tender", tender);
    System.out.println("in ctender after view tender");
    System.out.println(""+tender);
    return "viewTendersByUser";
}

Это метод в DAO, который я вызываю, но на самом деле не достигнут

@Override
public List<tender> getTenderByCreator(String name) {
    String sql = "select * from tenderdb where publisher = 
              '"+name+"'";
    return jdbcTemplate.query(sql,new RowMapper<tender>(){
        public tender mapRow(ResultSet rs, int row) throws SQLException {
            tender t = new tender();
            t.settName(rs.getString(1));
            t.setOpening(rs.getTimestamp(2));
            t.setClosing(rs.getTimestamp(3));
            t.setMinBid(rs.getDouble(4));
            t.settDesc(rs.getString(5));
            return t;
        }
    });
}

И это JSP, в котором я пытаюсь отобразить данные:

<h3>List of Tenders</h3>
  <table border="2" width="70%" cellpadding="2">  
  <tr><th>Tender Name</th><th>Opening Date</th><th>Closing Date</th><th>Minimum Bid</th><th>Tender Description</th><th>Edit</th><th>Delete</th></tr>  

  <c:forEach var="row" items="${tender}">
      <tr>
          <td>${row.tName}</td>
          <td>${row.opening}</td>
          <td>${row.closing}</td>
          <td>${row.minBid}</td>
          <td>${row.tDesc}</td>
          <td><a href="editTender/${tender.id}">Edit</a></td>
          <td><a href="deleteTender/${tender.id}">Delete</a></td>           
      </tr>
  </c:forEach>
</table>

Ожидаемые результаты должны быть в списке тендеров из базы данных на viewTendersByUser.jsp.Фактический результат - загружаемая страница JSP, но содержимое, которое должно быть получено от контроллера, не показывает, какие следы отображения не были вызваны, и фактически ничего не происходит.Даже ошибку или исключение будет легко отладить, но нет вывода.

...