第一步:
前台核心js代码
function getNoteInfo(pageNo){
var tempPageCount = $("#tempPageCount").val();
if(pageNo==0){
alert("没有上一页");
pageNo = 1;
}
if(pageNo>tempPageCount){
alert("没有下一页");
pageNo = 1;
}
$("#fenye").html("正在加载中……");
$.ajax({
type : "post",
url : "noteAction.do?mhd=getNoteInfo&pageNo="+pageNo,//获取点评内容
data : null,
success:function(msg){
var json = eval('('+msg+')');
var content = "";
for(var i=0;i<json.pagesize;i++){
content += "<div class=\"dplist_each\">";
content += "<div class=\"h30 lh30 oh\">";
content += "<em class=\"fl ml10 fCE6700\">"+json.items[i][0]+"</em>";
content += "<em class=\"fl ml10 f_959595\">发表于:"+json.items[i][1]+"</em>";
content += "<em class=\"fl ml10 f_3866ab\">出游类型:"+json.items[i][2]+"</em>";
content += "</div>";
content += "<div class=\"h25 lh10\">"+json.items[i][3]+"</div>";
if(json.items[i][4]!=null){
content += "<div class=\"h30 lh30 oh\"><strong>"+json.items[i][4]+" 回复于:"+json.items[i][5]+" "+json.items[i][6]+"</strong></div>";
}
content += "</div>"
}
$("#noteInfo").html(content);
pageNo = parseInt(pageNo);//设置为数字格式
var ysContent = "<a href=\"javascript:getNoteInfo(1)\" class=\"bluelink mr10\"><<</a>";
var beforeIndex = parseInt(pageNo)-1;
var nextIndex = parseInt(pageNo)+1;
ysContent += "<a href=\"javascript:getNoteInfo("+beforeIndex+")\" class=\"bluelink mr10\">上一页</a>";
/* 分页显示机制开始 */
if(json.pageCount<=5){
/** 如果总共的页数小于等于5,直接显示从第一页到第五页的按钮 **/
for(var i=1;i<=json.pageCount;i++){
if(pageNo==i){
//是当前页不显示按钮标志
ysContent += "<a class=\"b mr10\">第"+i+"页</a>";
}else{
//非当前页显示按钮标志,可跳转
ysContent += "<a href=\"javascript:getNoteInfo("+i+")\" class=\"bluelink mr10\">第"+i+"页</a>";
}
}
}
else{
/** 如果总共的页数大于5 **/
/*** 计算开始位置 ***/
if(pageNo-2<1){
/** 如果当前页数-2比1还要小,从第一页开始到当前页显示 **/
for(var k=1;k<=pageNo;k++){
if(pageNo==k){
//是当前页不显示按钮标志
ysContent += "<a class=\"b mr10\">第"+k+"页</a>";
}else{
//非当前页显示按钮标志,可跳转
ysContent += "<a href=\"javascript:getNoteInfo("+k+")\" class=\"bluelink mr10\">第"+k+"页</a>";
}
}
}
else{
/** 从当前页倒数第二页开始 **/
ysContent += "...";
for(var k=pageNo-2;k<=pageNo;k++){
if(pageNo==k){
//是当前页不显示按钮标志
ysContent += "<a class=\"b mr10\">第"+k+"页</a>";
}else{
//非当前页显示按钮标志,可跳转
ysContent += "<a href=\"javascript:getNoteInfo("+k+")\" class=\"bluelink mr10\">第"+k+"页</a>";
}
}
}
/*** 计算结束位置 ***/
if(pageNo+2>json.pageCount){
/** 如果当前页数+2比最大数还要大,显示从当前页到最大数那一页 **/
for(var k=pageNo+1;k<=json.pageCount;k++){
ysContent += "<a href=\"javascript:getNoteInfo("+k+")\" class=\"bluelink mr10\">第"+k+"页</a>";
}
}
else{
/** 从当前页的后两页结束 **/
for(var k=pageNo+1;k<=pageNo+2;k++){
ysContent += "<a href=\"javascript:getNoteInfo("+k+")\" class=\"bluelink mr10\">第"+k+"页</a>";
}
ysContent += "...";
}
}
/* 分页显示机制结束 */
ysContent += "<a href=\"javascript:getNoteInfo("+nextIndex+")\" class=\"bluelink mr10\">下一页</a>";
ysContent += "<a href=\"javascript:getNoteInfo("+json.pageCount+")\" class=\"bluelink mr10\">>></a>";
ysContent += "跳转到 <select name=\"turnPage\" id=\"turnPage\" onchange=\"getNoteInfo(turnPage.value)\">";
for(var j=1;j<=json.pageCount;j++){
if(pageNo==j){
ysContent += "<option value=\""+j+"\" selected>第"+j+"页</option>";
}else{
ysContent += "<option value=\""+j+"\" >第"+j+"页</option>";
}
}
ysContent += "</select> ";
ysContent += "共"+json.results+"条记录,共"+json.pageCount+"页";
$("#fenye").html(ysContent);
$("#tempPageCount").attr("value",json.pageCount);
}
});
}
第二步:
action代码
/**
* 获取留言内容
* @param mapping
* @param form
* @param request
* @param response
* @return
*/
public ActionForward getNoteInfo(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response){
String hotelId = "170942";
int pageSize = TotalJson.pageSize;//每页的条数
int pageCurrent = Integer.parseInt(request.getParameter("pageNo"));//当前页数
try{
int index = (pageCurrent-1)*pageSize;
int end = pageCurrent*pageSize;
String result = noteserviceImpl.getJsonNoteInfo(hotelId, index, end);
System.out.println("留言json内容:"+result);
response.getWriter().print(result);
}catch (Exception e) {
System.out.println(e.getMessage().toString());
}
return null;
}
第三步:
dao层组件代码
/**
* 获取留言内容(带分页功能的)
*/
public String getJsonNoteInfo(String hotelID,int index,int end) throws Exception {
// TODO Auto-generated method stub
Connection connection = null;
PreparedStatement preparedStatement = null;
PreparedStatement preparedStatement2 = null;
ResultSet resultSet = null;
ResultSet resultSet2 = null;
long totalResult = 0;//总共条数
String sql = "";
String sql2 = "";
List list = new ArrayList();
String result = "";
try{
connection = this.jdbc_connector.getJDBCConnection();
sql2 = "select count(*) from hotel_note where HOTELID = ? and STATE = 2";
sql = "select * from (select c.*,rownum n from hotel_note c where HOTELID = ? and STATE = 2) where n>? and n<=? ";
preparedStatement2 = connection.prepareStatement(sql2);
preparedStatement2.setString(1, hotelID);
resultSet2 = preparedStatement2.executeQuery();
while(resultSet2.next()){
totalResult = resultSet2.getInt(1);
}
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1, hotelID);
preparedStatement.setInt(2, index);
preparedStatement.setInt(3, end);
resultSet = preparedStatement.executeQuery();
while(resultSet.next()){
String[] strings = new String[7];
strings[0] = resultSet.getString("LOGINID");
strings[1] = resultSet.getString("NOTEDATE");
strings[2] = resultSet.getString("TYPE");
strings[3] = resultSet.getString("CONTENT");
strings[4] = resultSet.getString("RENOTEMAN");
strings[5] = resultSet.getString("RENOTEDATE");
strings[6] = resultSet.getString("RENOTECONTENT");
list.add(strings);
}
result = ExtHelper.getJsonAllInfoFromList(totalResult,list);
}catch (Exception e) {
e.printStackTrace();
throw new Exception("读取酒店评论出错");
}finally{
if(resultSet2!=null){
resultSet2.close();
}
if(resultSet!=null){
resultSet.close();
}
if(preparedStatement2!=null){
preparedStatement.close();
}
if(preparedStatement!=null){
preparedStatement.close();
}
if(connection!=null){
connection.close();
}
}
return result;
}
package com.csair.util;
import java.util.ArrayList;
import java.util.List;
import net.sf.json.JSONObject;
import com.csair.hotel.pojo.Hotel;
/**
* Title: Ext JS 辅助类
* Description: 该类用于转换java对象为XML文件格式或JSON文件格式
* @author weijun
* @time: 2008.07.09
*/
public class ExtHelper {
/**
* 通过List生成JSON数据
* @param recordTotal 记录总数,不一定与beanList中的记录数相等
* @param beanList 包含bean对象的集合
* @return 生成的JSON数据
*/
public static String getJsonFromList(long recordTotal , List beanList){
int start = 0;
int limit = 10;
TotalJson total = new TotalJson();
List Ll = new ArrayList();
total.setResults(recordTotal);
int pageCount;
if(recordTotal % TotalJson.pageSize == 0){
pageCount = (int) (recordTotal/TotalJson.pageSize);
}else {
pageCount = (int) (recordTotal/TotalJson.pageSize+1);
}
total.setPageCount(pageCount);
total.setPagesize(beanList.size());
total.setItems(beanList);
JSONObject JsonObject = JSONObject.fromObject(total);
System.out.println(JsonObject.toString());
return JsonObject.toString();
}
/**
* 通过List生成JSON数据
* @param beanList 包含bean对象的集合
* @return 生成的JSON数据
*/
public static String getJsonFromList(List beanList){
return getJsonFromList(beanList.size(),beanList);
}
/**
* 带页数的json格式返回
* @param recordTotal 记录总数,不一定与beanList中的记录数相等
* @param beanList 包含bean对象的集合
* @return 生成的JSON数据
*/
public static String getJsonAllInfoFromList(long recordTotal , List<Hotel> beanList){
int start = 0;
int limit = 10;
TotalJson total = new TotalJson();
List Ll = new ArrayList();
total.setResults(recordTotal);
int pageCount;
if(recordTotal % TotalJson.pageSize == 0){
pageCount = (int) (recordTotal/TotalJson.pageSize);
}else {
pageCount = (int) (recordTotal/TotalJson.pageSize+1);
}
total.setPageCount(pageCount);
total.setPagesize(beanList.size());
total.setItems(beanList);
JSONObject JsonObject = JSONObject.fromObject(total);
System.out.println("json~~~~"+JsonObject.toString());
return JsonObject.toString();
}
/**
* 通过bean生成JSON数据
* @param bean bean对象
* @return 生成的JSON数据
*/
public static String getJsonFromBean(Object bean){
JSONObject JsonObject = JSONObject.fromObject(bean);
return JsonObject.toString();
}
/**
* 生成几个测试用例
* @param args
*/
public static void main(String[] args) {
/*
* Example list返回为xml格式的字符串
*/
List list=new ArrayList();
list.add("张三");
list.add("李四");
list.add("王五");
list.add("赵六");
/*
* Example list返回为Json格式的字符串
*/
String testString2=getJsonFromList(10,list);
System.out.println(testString2);
/*
* Example Total返回为Json格式的字符串
*/
Total total=new Total();
total.setResults(100);
String totalString=getJsonFromBean(total);
System.out.println(totalString);
}
}
package com.csair.util;
import java.util.List;
public class TotalJson {
public static int pageSize = 6;//每页显示的条数
private long results;//总条数
private long pageCount;//总页数
private List items;
private long pagesize;
public List getItems() {
return items;
}
public void setItems(List items) {
this.items = items;
}
public long getResults() {
return results;
}
public void setResults(long results) {
this.results = results;
}
public long getPageCount() {
return pageCount;
}
public void setPageCount(long pageCount) {
this.pageCount = pageCount;
}
public long getPagesize() {
return pagesize;
}
public void setPagesize(long pagesize) {
this.pagesize = pagesize;
}
}
package com.csair.util;
public class Total {
private long results;
public long getResults() {
return results;
}
public void setResults(long results) {
this.results = results;
}
}
分享到:
相关推荐
json实例json实例json实例json实例json实例json实例json实例json实例
Json 使用简单实例 c++ 版,内含 VS2008 工程文件
json使用实例,帮助理解如何使用JSON
json入门实例json入门实例json入门实例json入门实例
JSON应用实例JSON应用实例JSON应用实例JSON应用实例JSON应用实例JSON应用实例JSON应用实例JSON应用实例JSON应用实例JSON应用实例JSON应用实例JSON应用实例
Ajax(json) 开发实例 学习Ajax 的号东西,别错过哦
以上这篇python使用response.read()接收json数据的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。 您可能感兴趣的文章:Python简单读取json文件功能示例Python使用内置...
JSON技术|Json格式解析|Json练习代码|导出Excel文档,附件是作为学习C#操作Json格式很好的代码例子。
Delphi_JSON控件及实例 Delphi_JSON控件及实例
在.NET中使用AJAX技术来做服务器端和客户端交互,用JSON做为在异步应用程序中发送和接收信息的数据格式。
jsondemo json实例 json源码jsondemo json实例 json源码jsondemo json实例 json源码jsondemo json实例 json源码jsondemo json实例 json源码
struts2 json extjs 完整实例 struts2 json extjs 完整实例 完整可用 无错! struts2 json extjs 完整实例 struts2 json extjs 完整实例 完整可用 无错! struts2 json extjs 完整实例 struts2 json extjs 完整...
asp输出json对象实例,用于生成json对象,不是json字符串
JsonRpc小实例。 Ajax框架。 JsonRpc小实例。 Ajax框架。
json转map实例
c#jsonHelpjson解析实例json转datatable实例
下面小编就为大家带来一篇Jackson将json string转为Object,org.json读取json数组的实例,具有很好的参考价值,希望对大家有所帮助
json 实例 json 实例 json 实例 json 实例 json 实例 json 实例 json 实例
struts2使用jquery整合ajax、json用户登录实例源码
一个简单的json使用实例