<c:forEach var="as" items="${list}">
<tr>
<td><a href="ShowById?id=${as.id}" >${as.id}</a></td>
<td>${as.name} </td>
<td>${as.author}</td>
<td>${as.publish}</td>
<td>${as.pdate}</td>
<td>${as.isbn}</td>
<td>${as.page}</td>
</tr>
</c:forEach>
<tr>
<td colspan="7" align="center"><input type="submit" value="提交"/></td>
</tr>
</table>
<!-- 下面是ShowById的代码 这是一个servlet-->
@Override
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
int Id = Integer.parseInt( request.getParameter("id")) ;
Shop sp = new ShopDaoImpl().ShowAllById(Id);
System.out.println(Id);
request.setAttribute("sp",sp);
request.getRequestDispatcher("dds.jsp").forward(request, response);
}
图书编号 | 图书名称 | 图书作者 | 图书出版社 | 图书出版日期 | 图书页数 | 图书价格 |
你没设置ID sql语句还是问号呢
System.out.println(Id);
放在dao方法之前 看看打印出来啥
如果没问题 检查dao层方法
impl里面的方法
@Override
public Shop ShowAllById(int id) {
String sql = "select * from shop where Id=?";
rs=executeQuery(sql);
Shop sp=null;
try {
sp = new Shop( rs.getString("Name"), rs.getString("Author"), rs.getString("Publish"), rs.getString("Pdate"), rs.getString("Isbn"),rs.getInt("Page"), rs.getDouble("Price"));
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return sp;
}