利用ajax对页面局部刷新
2017-09-24 22:00
369 查看
一、jsp页面代码
</head>
<body>
<input type="button" value="显示" /><br/>
<div id= "opt_area" >
</div>
</body>
</html>
二、show.jsp代码
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<ul>
<c:forEach var="temp" items="${allNews }">
<li>${temp.title }<li>
</c:forEach>
</ul>
三、js代码(注释部分请忽略)
<script type="text/javascript">
var jq = $.noConflict();
jq(function() {
jq("input[type='button']").click(function() {
jq.ajax({
url:"${pageContext.request.contextPath }/NewsServlet",
type:"POST",
data:"opr=listHtml",
dataType:"html",//注意返回类型
success:function(data) {
//alert(data.List.list.length);
/* var jqnewsList = jq("#opt_area>ul").empty();
for(var i = 0; i < data.List.list.length; i ++) {
jqnewsList.append("<li>"+data.List.list[i].title+"<li>");
} */
jq("#opt_area").html(data);//需要刷新的内容
}
});
});
});
</script>
四、servlet代码(注释部分请忽略)
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String opr = request.getParameter("opr");
List<Object> list = new ArrayList();
List<News> allNews = null;
Map<String, Object> map = new HashMap();
Map<String, Object> map1 = new HashMap();
String str="";
if("listHtml".equals(opr)) {
NewsService newsService = new NewsServiceImpl();
allNews = newsService.getAllNews();
/*//str += this.createJson(allNews);
for(int i = 0; i < allNews.size(); i ++) {
str+="<li>"+allNews.get(i).getTitle()+"<li>";
}
list.addAll(allNews);
//String strList = JSON.toJSONString(list, SerializerFeature.WriteMapNullValue, SerializerFeature.WriteNullNumberAsZero,SerializerFeature.WriteNullStringAsEmpty,SerializerFeature.WriteNullListAsEmpty);
//map.put("list", list);
str=JSON.toJSONString(list, SerializerFeature.WriteMapNullValue, SerializerFeature.WriteNullNumberAsZero,SerializerFeature.WriteNullStringAsEmpty);
JSONArray parseArray = JSONArray.parseArray(str);
JSONArray jsonArray = new JSONArray(list);
map1.put("list", jsonArray);
map.put("List", map1);
JSONObject JSONOBJ = new JSONObject(map);
out.print(JSONOBJ);*/
}
request.setAttribute("allNews", allNews);
request.getRequestDispatcher("/show.jsp").forward(request, response);//这个地方很关键,为了避免编写大量构建HTML内容代码,可以将数据发送至专门展示页面生成的页面即show.jsp
show.jsp中仅包含客户端展示数据所需的<li>元素,没有其他页面结构,产生的内容将作为响应发送会客户端,直接嵌入页面中使用
out.close();
}
五、当在页面中单击显示按钮时会出现相应内容
</head>
<body>
<input type="button" value="显示" /><br/>
<div id= "opt_area" >
</div>
</body>
</html>
二、show.jsp代码
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<ul>
<c:forEach var="temp" items="${allNews }">
<li>${temp.title }<li>
</c:forEach>
</ul>
三、js代码(注释部分请忽略)
<script type="text/javascript">
var jq = $.noConflict();
jq(function() {
jq("input[type='button']").click(function() {
jq.ajax({
url:"${pageContext.request.contextPath }/NewsServlet",
type:"POST",
data:"opr=listHtml",
dataType:"html",//注意返回类型
success:function(data) {
//alert(data.List.list.length);
/* var jqnewsList = jq("#opt_area>ul").empty();
for(var i = 0; i < data.List.list.length; i ++) {
jqnewsList.append("<li>"+data.List.list[i].title+"<li>");
} */
jq("#opt_area").html(data);//需要刷新的内容
}
});
});
});
</script>
四、servlet代码(注释部分请忽略)
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String opr = request.getParameter("opr");
List<Object> list = new ArrayList();
List<News> allNews = null;
Map<String, Object> map = new HashMap();
Map<String, Object> map1 = new HashMap();
String str="";
if("listHtml".equals(opr)) {
NewsService newsService = new NewsServiceImpl();
allNews = newsService.getAllNews();
/*//str += this.createJson(allNews);
for(int i = 0; i < allNews.size(); i ++) {
str+="<li>"+allNews.get(i).getTitle()+"<li>";
}
list.addAll(allNews);
//String strList = JSON.toJSONString(list, SerializerFeature.WriteMapNullValue, SerializerFeature.WriteNullNumberAsZero,SerializerFeature.WriteNullStringAsEmpty,SerializerFeature.WriteNullListAsEmpty);
//map.put("list", list);
str=JSON.toJSONString(list, SerializerFeature.WriteMapNullValue, SerializerFeature.WriteNullNumberAsZero,SerializerFeature.WriteNullStringAsEmpty);
JSONArray parseArray = JSONArray.parseArray(str);
JSONArray jsonArray = new JSONArray(list);
map1.put("list", jsonArray);
map.put("List", map1);
JSONObject JSONOBJ = new JSONObject(map);
out.print(JSONOBJ);*/
}
request.setAttribute("allNews", allNews);
request.getRequestDispatcher("/show.jsp").forward(request, response);//这个地方很关键,为了避免编写大量构建HTML内容代码,可以将数据发送至专门展示页面生成的页面即show.jsp
show.jsp中仅包含客户端展示数据所需的<li>元素,没有其他页面结构,产生的内容将作为响应发送会客户端,直接嵌入页面中使用
out.close();
}
五、当在页面中单击显示按钮时会出现相应内容
相关文章推荐
- 利用Ajax实现页面局部刷新
- 利用ajax实现与php数据交互,并局部刷新页面
- 利用Ajax实现页面局部刷新
- 利用ajax实现页面的局部刷新
- 利用Ajax实现页面局部刷新
- 在JSF页面利用Ajax实现局部刷新
- 利用ajax和JSP技术实现网页中表单的局部刷新(只刷新表单数据,而不刷新整个页面)
- 利用ajax实现与php(json数组)数据交互,并局部刷新页面
- 利用Ajax实现在页面显示局部刷新
- 利用ajax实现与php数据交互,并局部刷新页面
- 静态页中利用AJAX.NET实现无刷新页面
- jQuery实现AJAX定时刷新局部页面
- 利用JQuery+Ajax实现aspx页面无刷新的动态数据绑定
- jQuery实现AJAX定时刷新局部页面实例
- jQuery实现AJAX定时刷新局部页面实例
- bdnq培训(一)3.25上课内容整理--ajax请求实现页面局部刷新
- 利用ajax实现简单的注册验证局部刷新实例
- struts也可以使用ajax异步调用页面局部刷新
- php中利用ajax实现局部刷新
- jsp+ajax自动刷新局部页面