伺服器上的資料存放區在json檔案中,一個評論列表comment_list.json
{"comment_table"[{"userName": "zhangsan", "commentTime": "2012-5-26 12:00:00 UTC", "comment": "hello, wo shi zhansan"}{"userName": "zhangsan", "commentTime": "2012-5-26 12:00:00 UTC", "comment": "hello, wo shi zhansan"}{"userName": "zhangsan", "commentTime": "2012-5-26 12:00:00 UTC", "comment": "hello, wo shi zhansan"}{"userName": "zhangsan", "commentTime": "2012-5-26 12:00:00 UTC", "comment": "hello, wo shi zhansan"}{"userName": "zhangsan", "commentTime": "2012-5-26 12:00:00 UTC", "comment": "hello, wo shi zhansan"}{"userName": "zhangsan", "commentTime": "2012-5-26 12:00:00 UTC", "comment": "hello, wo shi zhansan"}{"userName": "zhangsan", "commentTime": "2012-5-26 12:00:00 UTC", "comment": "hello, wo shi zhansan"}{"userName": "zhangsan", "commentTime": "2012-5-26 12:00:00 UTC", "comment": "hello, wo shi zhansan"}{"userName": "zhangsan", "commentTime": "2012-5-26 12:00:00 UTC", "comment": "hello, wo shi zhansan"}]}
使用表單來提交資料到jsp頁面,沒有使用現在流行的ajax技術哦。
<form method="post" action="resbrowse_2.jsp"><div align="left" style="padding-left:10px; margin-top:10px"><input id="comment_text" name="comment_text" type="text" maxlength="100" style="width:580px;height:40px ;background-color:#FFFBF0 " /></div><div align="right" style="width:595px;margin-top:5px"><!--注意這兒要使用submit標籤哦,否則不會提交資料--> <input type="submit" name="comment_button" onclick="addComment()" value="發表評論" style="width:80px;height:25px" /></div><!-- 用隱藏標籤提交“當前頁碼”給伺服器--><input type="hidden" name="page_index"/><!-- 用隱藏標籤提交“每頁大小”給伺服器--> <input type="hidden" name="page_size" /></form>
現在看看伺服器端的jsp邏輯是怎麼處理客戶提交的這些資料的?
引入json包,可以在之前的文章裡面找到json處理的包
(http://blog.csdn.net/wuzh1230/article/details/6613033)
<%@ page import="import org.json.*" %>
<!--定義了2個全域的java對象來儲存評論列表和資源清單,重啟伺服器會丟失--><%! JSONArray cmtTable = new JSONArray();%><%! JSONArray resTable = new JSONArray();%><% // 擷取參數String strCmnt = request.getParameter("comment_text");int nPageIndex = Integer.parseInt(request.getParameter("page_index"));int nPageSize = Integer.parseInt(request.getParameter("page_size")) ;// 通過上面2個方法,我們就拿到了用戶端通過表單提交的3個參數// 1, 使用者剛剛的評論// 2, 使用者當前所在的頁面// 3, 每個頁面顯示的評論個數// 首先,我們把使用者提交的評論先附加到評論列表的那個json檔案中去// ----這個例子裡,我用了一個JSONObect記憶體全域對象來儲存了,// ----檔案讀取的方式,這裡暫不介紹了// ----這樣做的壞處是tomcat重新啟動以後使用者的資料就沒有了。// 其次,讀取json,解析成java的linkedlist,// 最後根據使用者的當前頁碼和每頁大小擷取列表中的一段返回給瀏覽器%>