j2ee中运用ajax局部刷新和实时局部刷新
2017-01-11 15:19
260 查看
1.function loadXMLDoc(valueFromSelect1) //加载ajax,并进行请求数据
2.xmlhttp.onreadystatechange=updatePage;//指明回调函数
3.function updatePage()//产生回调 并且进行界面处理
4.setTimeout("loadXMLDoc('"+1+"')" , 1000);//实时局部刷新
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>发送信息</title>
<link href="/test678/css/style1.css" type="text/css" rel="stylesheet"/>
<script type="text/javascript" src="js/jquery-1.8.2.min.js"></script>
<script type="text/javascript">
var xmlhttp;
function loadXMLDoc(valueFromSelect1){
var url = "controller/AjaxServlet?valueFromSelect=" + valueFromSelect1 + "&" + Math.random();
xmlhttp=null;
if (window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
}
else if (window.ActiveXObject){
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
if (xmlhttp!=null){
xmlhttp.onreadystatechange=updatePage;//指明回调函数
xmlhttp.open("GET",url,true);//请求URL
xmlhttp.send(null);
}
else{
alert("Your browser does not support XMLHTTP.");
}
//setTimeout("loadXMLDoc('"+1+"')" , 1000);//实时局部刷新
}
function state_Change(){
if (xmlhttp.readyState==4){
if (xmlhttp.status==200){
updatePage();
}
else{
alert("Problem retrieving XML data");
}
}
}
//产生回调 并且进行界面处理
function updatePage(){
// 清空select2
while(select2.options[0] != null){
select2.options[0] = null;
}
// 设置select2
var xmlDoc = xmlhttp.responseXML;//对放回的xml数据进行解析
var labelValueBeanElements = xmlDoc.getElementsByTagName("labelValueBean");
for (var i = 0; i < labelValueBeanElements.length; i++){
var entityValue = xmlDoc.getElementsByTagName("value")[i].childNodes[0].nodeValue;
var entityLabel = xmlDoc.getElementsByTagName("label")[i].childNodes[0].nodeValue;
select2.options[i] = new Option(entityLabel,entityValue,false,false);
}
}
</script>
</head>
<body>
select1:
<select id="select1" onchange="loadXMLDoc(this.value)">
<option value="1">1</option>
<option value="2">2</option>
</select>
<br/>
select2:
<select id="select2">
</select>
<input type="button" value="显示select2的值" onclick="alert(select2.value)">
</body>
</html>
2.xmlhttp.onreadystatechange=updatePage;//指明回调函数
3.function updatePage()//产生回调 并且进行界面处理
4.setTimeout("loadXMLDoc('"+1+"')" , 1000);//实时局部刷新
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>发送信息</title>
<link href="/test678/css/style1.css" type="text/css" rel="stylesheet"/>
<script type="text/javascript" src="js/jquery-1.8.2.min.js"></script>
<script type="text/javascript">
var xmlhttp;
function loadXMLDoc(valueFromSelect1){
var url = "controller/AjaxServlet?valueFromSelect=" + valueFromSelect1 + "&" + Math.random();
xmlhttp=null;
if (window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
}
else if (window.ActiveXObject){
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
if (xmlhttp!=null){
xmlhttp.onreadystatechange=updatePage;//指明回调函数
xmlhttp.open("GET",url,true);//请求URL
xmlhttp.send(null);
}
else{
alert("Your browser does not support XMLHTTP.");
}
//setTimeout("loadXMLDoc('"+1+"')" , 1000);//实时局部刷新
}
function state_Change(){
if (xmlhttp.readyState==4){
if (xmlhttp.status==200){
updatePage();
}
else{
alert("Problem retrieving XML data");
}
}
}
//产生回调 并且进行界面处理
function updatePage(){
// 清空select2
while(select2.options[0] != null){
select2.options[0] = null;
}
// 设置select2
var xmlDoc = xmlhttp.responseXML;//对放回的xml数据进行解析
var labelValueBeanElements = xmlDoc.getElementsByTagName("labelValueBean");
for (var i = 0; i < labelValueBeanElements.length; i++){
var entityValue = xmlDoc.getElementsByTagName("value")[i].childNodes[0].nodeValue;
var entityLabel = xmlDoc.getElementsByTagName("label")[i].childNodes[0].nodeValue;
select2.options[i] = new Option(entityLabel,entityValue,false,false);
}
}
</script>
</head>
<body>
select1:
<select id="select1" onchange="loadXMLDoc(this.value)">
<option value="1">1</option>
<option value="2">2</option>
</select>
<br/>
select2:
<select id="select2">
</select>
<input type="button" value="显示select2的值" onclick="alert(select2.value)">
</body>
</html>
import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import openfire.entity.IMMessage; import openfire.util.AllMessages; public class AjaxServlet extends HttpServlet { private static final long serialVersionUID = 200808021921120001L; /** * Constructor of the object. */ public AjaxServlet() { super(); } /** * Destruction of the servlet. <br> */ public void destroy() { super.destroy(); // Just puts "destroy" string in log // Put your code here } /** * The doGet method of the servlet. <br> * * This method is called when a form has its tag value method equals to get. * * @param request * the request send by the client to the server * @param response * the response send by the server to the client * @throws ServletException * if an error occurred * @throws IOException * if an error occurred */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("GBK"); String valueFromSelect = request.getParameter("valueFromSelect"); StringBuffer sb = new StringBuffer(); sb.append("<?xml version=\"1.0\" encoding=\"gb2312\"?>\n"); sb.append("<resultFromDB>\n"); sb.append(fromDB(valueFromSelect)); sb.append("</resultFromDB>\n"); response.setHeader("content-type", "text/xml;charset=GBK"); PrintWriter out = response.getWriter(); out.println(sb.toString()); out.flush(); out.close(); } /** * The doPost method of the servlet. <br> * * This method is called when a form has its tag value method equals to * post. * * @param request * the request send by the client to the server * @param response * the response send by the server to the client * @throws ServletException * if an error occurred * @throws IOException * if an error occurred */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } /** * Initialization of the servlet. <br> * * @throws ServletException * if an error occure */ public void init() throws ServletException { // Put your code here } /** * 模拟访问数据库 */ private String fromDB(String valueFromSelect) { StringBuffer sb = new StringBuffer(); ArrayList<IMMessage> messages = AllMessages.getMessages(); if (valueFromSelect.equals("1")) { /*for (int i = messages.size()-1; i >= 0 ; i--) { sb.append(" <labelValueBean>\n"); sb.append(" <value>" + messages.get(i).getContent() + "</value>\n"); sb.append(" <label>" + messages.get(i).getContent() + "</label>\n"); sb.append(" </labelValueBean>\n"); }*/ sb.append(" <labelValueBean>\n"); sb.append(" <value>haha</value>\n"); sb.append(" <label>哈哈</label>\n"); sb.append(" </labelValueBean>\n"); sb.append(" <labelValueBean>\n"); sb.append(" <value>hehe</value>\n"); sb.append(" <label>呵呵</label>\n"); sb.append(" </labelValueBean>\n"); } else if (valueFromSelect.equals("2")) { sb.append(" <labelValueBean>\n"); sb.append(" <value>heihei</value>\n"); sb.append(" <label>嘿嘿</label>\n"); sb.append(" </labelValueBean>\n"); sb.append(" <labelValueBean>\n"); sb.append(" <value>gaga</value>\n"); sb.append(" <label>嘎嘎</label>\n"); sb.append(" </labelValueBean>\n"); sb.append(" <labelValueBean>\n"); sb.append(" <value>woyun</value>\n"); sb.append(" <label>我晕</label>\n"); sb.append(" </labelValueBean>\n"); sb.append(" <labelValueBean>\n"); sb.append(" <value>123</value>\n"); sb.append(" <label>456</label>\n"); sb.append(" </labelValueBean>\n"); } return sb.toString(); } }
相关文章推荐
- 关于ajax局部刷新,从数据库实时更新数据到页面(一般是下订单成功后发送消息到后台)
- 运用 Ajax技术 实现一个局部刷新显示的小例子
- AJAX实时刷新数据、状态显示、局部刷新示例
- Ajax:如何运用updatepanle进行局部刷新
- Ajax:如何运用updatepanle进行局部刷新
- 基于Ajax:实时刷新数据,实时显示状态,局部刷新的示例。
- AJAX实现局部刷新
- php jQuery . Ajax 实现局部刷新分页
- AJAX(二)---局部刷新实现分页效果的实现
- Ajax实现网页无闪自动局部刷新(邮件接收提示)
- Ajax实现局部刷新
- 注册时:js的ajax实现局部刷新验证用户名
- Ajax局部刷新div后如何跳出进行全局刷新
- bootstrap-wysiwyg结合ajax实现图片上传实时刷新功能
- JQuery的AJAX局部刷新使用操作
- asp+ajax 无刷新新闻列表,点击分页不局部刷新(代码,有下载)
- $.ajax 实现局部刷新
- 1.MVC框架复习 2.Ajax加强 3.搜索建议 4,三级联动 5、刷新分页 6、Ajax局部动态更新数据
- jsp+ajax自动刷新局部页面
- ajax 局部刷新