在传统的Web开发中,各种资源与页面的跳转,特别是状态的维护,是每个Web开发人员要求掌握的重要内容。这也直接决定了我们开发的功能实现与技巧。
作者:谢冬波
在传统的Web开发中,各种资源与页面的跳转,特别是状态的维护,是每个Web开发人员要求掌握的重要内容。这也直接决定了我们开发的功能实现与技巧。维护状态有多种方式,这又分为客户端与服务端的维护方式。在javaweb开发中,服务器端的方式主要有:request,session,application。客户端的方式主要有Cookie,隐藏表单域,查询字符串。服务器端存储有安全的优势,客户端存储有不占服务端器资源的优势。在一些Web系统中,为了让用户更好地使用系统服务,经常要把用户曾经浏览过的内容,在用户下次访问的时候,显示出来,以方便用户采取下一步的行动。国内比较知名的一些站点,在这方面都是常规的应用。如当当网上商城,安居客二手房,搜房等。 下面我先通过一些demo来演示我的实现。 请看如下页面:展示了最新出版及最具热度的十本图书。当用户点击了某本图书后,将跳转到详细页面。当用户再次浏览首页的时候,将显示出用户曾经浏览过的图书。
页面主要代码如下: <div id="content"> <c:if test="${not empty publishdate}"> <div id="publishdate"> <h3><span>最新出版</span></h3> <div id="listdate"> <table border="0"> <tbody> <c:forEach var="book" items="${publishdate}" varStatus="status"> <c:if test="${status.index%5==0}"> <tr> </c:if> <td colspan="30"> <table cellspacing="0" > <tbody> <tr> <td> <a href="/test/bookbyid?id=${book.id}"> <img src=" images/${book.imageFile}" width="100" height="120"> </a> </td> </tr> <tr> <td valign="bottom" align="center"> <a href="/test/bookbyid?id=${book.id}"> ${book.title} </a> </td> </tr> </tbody> </table><br/> </td> <c:if test="${status.index%5==4}"> <tr> </c:if> </c:forEach> </tbody> </table> </div> </div> </c:if> <c:if test="${not empty click}"> |