我是服务器端编程的新手。我有一个在线图书销售管理系统的最后一年项目。我想知道如何为每个点击购买的图书图片生成一个动态页面。我的意思是说,如果用户请求任何书籍X,怎么可能生成一个显示其所有细节,图像等信息的页面。我应该使用什么样的网址?如何链接到jsp的动态生成页面
回答
只需传递书籍的唯一标识符作为请求参数或请求路径信息,并根据标识符在doGet()
方法中执行servlet数据查找,将其存储在请求范围内并转发到JSP文件生成所有必需的HTML。
E.g.与这个servlet
@WebServlet("/book")
public class BookServlet extends HttpServlet {
@EJB
private BookService service;
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Book book = service.find(request.getParameter("id"));
request.setAttribute("book", book);
request.getRequestDispatcher("/WEB-INF/book.jsp").forward(request, response);
}
}
或者作为请求路径信息/book/123
与这个servlet
@WebServlet("/book/*")
public class BookServlet extends HttpServlet {
@EJB
private BookService service;
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Book book = service.find(request.getPathInfo().substring(1));
request.setAttribute("book", book);
request.getRequestDispatcher("/WEB-INF/book.jsp").forward(request, response);
}
}
无论哪种方式,请求参数/book?id=123
,该/WEB-INF/book.jsp
可能只是看起来像这样的常用方法。
<p>Title: <c:out value="${book.title}" /></p>
<p>Author: <c:out value="${book.author}" /></p>
<p>Summary: <c:out value="${book.summary}" /></p>
为了产生/WEB-INF/books.jsp
这些链接到servlet,只是遍历一个List<Book>
如下,假设你希望网址喜欢/book/123
:
<ul>
<c:forEach items="${books}" var="book">
<li>
<a href="${pageContext.request.contextPath}/book/${book.id}">
View book with title: <c:out value="${book.title}" />
</a>
</li>
</c:forEach>
</ul>
感谢您的帮助。我不明白 - >
这只是一个循环,而不是'List
我假定这是一个小规模的项目。
首先为你的书保留一个数据库..给他们每个人一个唯一的ID。 如果您显示所有常见的详细信息,例如...已发布,价格,图书名称,作者,评论,评分....然后您无需担心。创建常见的JSP页面以显示基于indo上UNIQUEID ...
JSP说:books.jsp
<form name="books" action="getInfo.jsp">
<a href="YourJSP/?bookid=pass_an_id_for_your_bookX">Book X(Image)</a> //Book X
<a href="YourJSP/?bookid=pass_an_id_for_your_bookY">Book Y(Image)</a> //Book Y
<a href="YourJSP/?bookid=pass_an_id_for_your_bookZ">Book Z(Image)</a> //Book Z
....
.... an on..
</form>
BOOKID将是你的芳族聚酰胺?
pass_an_id_for_your_bookX将成为您存储在数据库中的bookX的唯一ID。
你的第二JSP中说:getInfo.jsp
设计你的JSP呈现,到diplay有关您的BookX/BookY WRT到BOOKID 在你的JSP得到BOOKID的价值和查询数据库。 ..
String bookId = request.getParameter("bookid"):
//This will get the value of your bookId for BookX
//Connect to your DB
//Use PreparedStatement or StoredProcedure to make a query pass your bookId in where condition.
其余的很简单,通过查询数据库,你会得到所有常见的值,即。在公布价格,书名,作者,评论,评级...在你的JSP页面中相应地显示他们..
<%
Connection con = null;
PreparedStatement pst = null;
ResultSet rs = null;
String BookName=null;
String AuthorName=null;
String Price=null;
String Rating=null;
try {
Class.forName(driver);
con = DriverManager.getConnection(connection);
String sql =
"select * from BOOKS_TABLE where bookId =?";
pst = con.prepareStatement(sql);
pst.setString(1, bookId);
rs = pst.executeQuery();
while (rs.next()) {
BookName = rs.getString(1);
AuthorName = rs.getString(2);
Price = rs.getString(3);
Rating = rs.getString(4);
}
// 1 , 2, 3... denotes column numbers
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
}
%>
现在你得到了所有你的价值观..那么,相应地显示他们..
<%=BookName%>
<%=AuthorName%>
<%=Price%>
<%=Rating%>
A注意:在JSP页面中不鼓励使用脚本(Java代码)。您可能想要检入Beans或JSTL。我只是给你一个IDEA!
全部最好
- 1. 动态生成CMS的页面链接
- 2. 如何在MIddleman中链接动态生成的页面?
- 3. JSP动态网页生成
- 4. JSP - 如何创建从jsp页面到另一个jsp页面的链接
- 5. 获取链接的会话ID并生成动态页面PHP
- 6. 动态链接的动态页面
- 7. ASP.NET动态页面生成
- 8. 动态生成.aspx页面
- 9. 动态链接到Facebook公司页面
- 10. 动态链接到子页面WordPress
- 11. 动态表链接到新页面
- 12. 自动生成页面链接到Octopress上的导航栏
- 13. Firebase动态链接:如何从生成的动态链接获取URI方案?
- 14. 将jsp页面链接到java类
- 15. 从JSP页面生成PDF?
- 16. 如何在点击后保持链接悬停状态,当另一个链接点击动态生成页面
- 17. 如何在JSP中动态生成URL?
- 18. 发贴的链接不生成页面
- 19. 如何在PHP中创建到页面的动态链接?
- 20. 如何动态创建JSP页面?
- 21. 从laravel的动态页面链接到另一个页面
- 22. 如何使用JSP生成非JSP扩展的内容页面?
- 23. 如何创建从jsp页面到war文件的链接
- 24. JVM参数作为jsp动态链接的动态链接
- 25. Rails]动态生成静态页面
- 26. 动态生成的HTML深度链接
- 27. iframe问题动态生成的链接
- 28. 从动态href链接链接到另一个php页面php
- 29. 如何将链接添加到页面动态地在Rails中
- 30. 将Jetty嵌入到动态jsp页面
你可以给模式的细节? –
这是一个在线图书销售管理系统,人们可以在线购买图书。我想知道如何从数据库中获取图书信息,并在任何用户点击任何图书图像或链接时将其显示在另一个页面中。我的意思是说如何链接这两个页面,因为我以前不知道用户点击哪本书。我的问题摘要是如何知道哪本书已被点击,然后将用户带到该书的详细页面。 –