一、修改图书信息时候jsp获取不到图书的id
分析:进行图书信息修改的时候id可以由一个jsp页面传值到到另一个填写修改信息jsp页面 即:
这里考虑jsp之间的传值问题,我采用了URL传值,将页面1的传给页面2.
页面1——用getId()得到id:
<a href="update.jsp?id=<%=book.getId() %>">修改</a>
复制代码
页面2——request.getParameter("id")获取id:
<form action="UpdateServlet" method="post">
<%
int id = Integer.parseInt(request.getParameter("id"));
%>
<h4>
图书编号:<input type="text" name="id" value="<%=id%>" readonly="readonly"></input>
</h4>
<h4>
图书名称:<input type="text" name="name"> </input>
</h4>
<h4>
图书作者:<input type="text" name="author"></input>
</h4>
<h4>
图书类别:<input type="text" name="category"></input>
</h4>
<input type="submit" value="提交" />
</form>
复制代码
二、Servlet到jsp的传值问题。 问题:我在servlet中调用定义了一个数组,并把调用dao所取到的值赋给它,成功之后重定向到jsp但jsp获取不到数组的值,考虑到是jsp获取问题对jsp进行修改,代码如下:
servlet:
BookDAO dao = new BookDAO();
List<Book> list = dao.selectBook(name);
req.setAttribute("list", list);
复制代码
jsp修改如下:
<%
ArrayList<Book> list = (ArrayList<Book>)request.getAttribute("list");
for(Book book:list){
%>
<tr>
<td><%=book.getId() %></td>
<td><%=book.getName()%></td>
<td><%=book.getAuthor()%></td>
<td><%=book.getCategory() %></td>
<td><a href="DeleteServlet?id=<%=book.getId() %>">删除</a>|<a href="update.jsp?id=<%=book.getId() %>">修改</a></td>
</tr>
<%
}
%>
复制代码