我正在开发招标管理的简单应用程序,其中在Eclipse IDE上使用J2EE,Spring-mvc和CRUD操作
我必须从数据库中检索招标清单,并使用控制器在JSP中显示。 JSP页面已在@RequestMapping
中进行了映射,但是该映射未执行,因此未到达其后的代码。
我以前尝试过非杂类操作,并使用了不同的方法,包括ModelAndView和String,但是问题在于映射,该映射在加载所需的JSP时无法运行。没有错误显示。
这是Controller中的映射调用
@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页面,但是要从控制器接收的内容没有显示未调用映射的哪些跟踪,并且实际上什么也没有发生。
即使是错误或异常也很容易调试,但是没有输出。