有时候我们jsp需要展示的页面是从数据库里动态引入的
所以需要先链接到一个servlet,再跳转到jsp页面
那么要怎么做呢
首先使用jsp的动态引入
<jsp:include page="/bookshow"></jsp:include>
url的链接就是servlet的链接
然后在servlet中获取数据中使用req的跳转
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=utf-8");
BookService bs = new BookServiceImpl();
List<Book> lb = bs.ShowAllBooks();
req.setAttribute("books",lb);
req.getRequestDispatcher("FontMain/bookright.jsp").include(req,resp);
}
注意是include不是reforword
最后显示的bookright页面就是我们所要的页面了
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%--
Created by IntelliJ IDEA.
User: sz101
Date: 2019/11/10
Time: 9:52
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
<link href="../bootstrap/bootstrap.min.css" rel="stylesheet" type="text/css"/>
<link href="../css/mycss.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<c:forEach items="${requestScope.books}" var = "book">
<div>
<div class = "col-sm-6">
<img class = "img-responsive" src = "${book.image_id}">
<p>${book.image_id}</p>
</div>
<div class = "col-sm-6">
<ul>
<li>${book.name}</li>
<li>${book.author}</li>
<li>${book.description}</li>
<li>${book.price}</li>
</ul>
</div>
</div>
</c:forEach>
</body>
</html>
网友评论