struts ajax应用一 ToolTip提示

html:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Tool Tip Ajax</title>
</head>
<script type="text/javascript" language="javascript">
var xmlHttp;
var dataDiv;
var dataTable;
var dataTableBody;
var offsetE1;
function createXMLHttpRequest() {
 if (window.ActiveXObject) {//如果是IE
  xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
 } else if (window.XMLHttpRequest) {
  xmlHttp = new XMLHttpRequest();
 }
}
function initVars(){
dataTableBody=document.getElementById("courseDataBody");
dataTable=document.getElementById("courseData");
dataDiv=document.getElementById("popup");
}
function getCourseData(element){
initVars();
createXMLHttpRequest();
offsetE1=element;
var url="play.do?key="+escape(element.id);
xmlHttp.open("GET",url,true);
xmlHttp.onreadystatechange=callback;
xmlHttp.send(null);
}
function callback(){
 if(xmlHttp.readyState==4){//判断请求的状态(0=未初始化,1=正在加载,2=已经加载,3=交互,4=完成)
  if(xmlHttp.status==200){//判断Server的Http状态码(200对应 ok , 404对应Not Found,204对应返回空)
   setData(xmlHttp.responseXML);
  }
 }
}
function setData(courseData){
clearData();
setOffsets();
var age=courseData.getElementsByTagName("age")[0].firstChild.data;
var birthday=courseData.getElementsByTagName("birthday")[0].firstChild.data;
var row,row2;
var parData="BirthDay:"+birthday
var LengthData="Age:"+age;

row=createRow(parData);
row2=createRow(LengthData);
dataTableBody.appendChild(row);
dataTableBody.appendChild(row2);
}
function createRow(data){
var row,cell,txtNode;
row=document.createElement("tr");
cell=document.createElement("td");
cell.setAttribute("bgcolor","#FFFAFA");
cell.setAttribute("border","0");
textNode=document.createTextNode(data);
cell.appendChild(textNode);
row.appendChild(cell);
return row;
}

function setOffsets(){
 var end=offsetE1.offsetWidth;
 var top=calculateOffsetTop(offsetE1);
 dataDiv.style.border="black 1px solid";
 dataDiv.style.left=end+15+"px";
 dataDiv.style.top=top+"px";
}
function calculateOffsetTop(field){
return calculateOffset(field,"offsetTop");
}

function calculateOffset(field,attr){
var offset=0;
 while(field){
 offset+=field[attr];
 field=field.offsetParent;
 }
return offset;
}

function clearData(){
var ind=dataTableBody.childNodes.length;

 if(ind>0){
 for(var i=ind-1;i>=0;i--){
 dataTableBody.removeChild(dataTableBody.childNodes[i]);
 }
 dataeDiv.style.border="none";
 }
}
</script>
<body>
<h1>Tool Tip Ajax</h1>
<table id="courses" bgcolor="FFFAFA" border="1" cellpadding="0" cellpadding="2">
<tbody>
<TR><TD id="1" οnmοuseοver="getCourseData(this);" οnmοuseοut="clearData();">CXM</TD></TR>
<TR><TD id="2" οnmοuseοver="getCourseData(this);" οnmοuseοut="clearData();">CYQ</TD></TR>
</tbody>
</table>

<div style="position:absolute;" id="popup">
<table id="courseData" bgcolor="#FFFAFA" border="0" cellspacing="0" cellpadding="0">
<tbody id="courseDataBody"></tbody>
</table>
</div>
</body>
</html>

 

Server Action:

 

package cxm.ajax;

import java.io.PrintWriter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.*;

public class autotooltip extends Action{
 public ActionForward execute(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response)
   throws Exception {
  PrintWriter pout = response.getWriter();
  String parastr=request.getParameter("key");
  System.out.println(parastr);
  response.setContentType("text/xml");
  response.setHeader("Cache-Control", "no-cache");
  pout.println("<response>");
  if(parastr.equals("1")){
   pout.println("<age>28</age>");
   pout.println("<birthday>5-11</birthday>");
  }
  if(parastr.equals("2")){
   pout.println("<age>28</age>");
   pout.println("<birthday>9-10</birthday>");
  }
  pout.println("</response>");
  pout.flush();
  pout.close();
  
  return null;
 }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值