图书信息管理系统错误总结

298 阅读1分钟

一、修改图书信息时候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>
    		                   	<%
					}
					%>

参考网站: blog.csdn.net/IT_peng/art…