我是这么写的!怎么刷新页面没有什么效果我的结构流程就是 首先点击树形图的节点,跳进servlet中,执行查询的方法。然后有调回该页面。页面刷新没有什么反应。
各位帮我解决一下!谢谢各位了!急需解决呀!首先是frame页面 代码如下
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK" />
<title></title>
<link href="images/css.css" rel="stylesheet" type="text/css" />
</head>
<frameset cols="45%,*,0" frameborder="no" border="0" framespacing="0">
<frame src="devgroupmng_l.jsp" name="left" scrolling="no" noresize="noresize" id="left" />
<frame src="devgroupmng_f.jsp" name="right" scrolling="auto" noresize="noresize" id="right" />
<frame name="ddhidden" src="" />
</frameset>
<noframes><body>
</body>
</noframes></html>
左边页面devgroupmng_l.jsp是用dtree写的页面。就是树形图 部分代码如下 <script type="text/javascript">
d = new dTree('d');
<%
System.out.println("abcde");
GetGroup dao=new GetGroup();
Vector arr=new Vector();
GetDev getdev=new GetDev();
List list=new ArrayList();
List camera=new ArrayList();
camera=(List)request.getAttribute("camera");
DevGroupInfo vo=new DevGroupInfo();
GetCamera getcamera=new GetCamera();
camera=getcamera.getcamerainfo();
CameraStatus cs=new CameraStatus();
CameraInfo camerainfo=new CameraInfo();
list=getdev.getonlinedev();
arr=dao.getGroupInfo();
for(int i=0;i<arr.size();i++)
{
vo=new DevGroupInfo();
vo=(DevGroupInfo)arr.get(i);
if(vo.getDevId()==null||"".equals(vo.getDevId())){
%>
d.add('<%=vo.getGroupId()%>','<%=vo.getGroupParentId()%>','<%=vo.getGrouopName()%>',
'','','_target','img/tree.gif','img/tree.gif');
<%
}else{
for(int k=0;k<camera.size();k++){
camerainfo=new CameraInfo();
camerainfo=(CameraInfo)camera.get(k);
%>
IP='<%=camerainfo.getCameraip()%>';
cameraId='<%=camerainfo.getCameraid()%>';
port='<%=camerainfo.getConport()%>';
<%
if(vo.getDevId().equals(camerainfo.getCameraid().substring(0,10))){
if(camerainfo.getStatus().equals("1")){
%>
d.add('<%=vo.getGroupId()%>','<%=vo.getGroupParentId()%>','<%=vo.getGrouopName()%>',
'javaScript:forwards(\''+IP+'\',\''+cameraId+'\',\''+port+'\')','','','img/line_dev.GIF','','','');
<%
}else{
%>
d.add('<%=vo.getGroupId()%>','<%=vo.getGroupParentId()%>','<%=vo.getGrouopName()%>',
'javaScript:forwards(\''+IP+'\',\''+cameraId+'\',\''+port+'\')','','','img/noline_dev.GIF','','','<%=vo.getGroupId()%>');
<%}%>
<%}%>
<%
}
%>
<%}
%>
<%}
%>
document.write(d);
</script>
右边就是调用activeX页面。就别管了!然后我在左边那个页面devgroupmng_l.jsp用了ajax。就是要刷新dtree页面
ajax 代码如下
var xmlhttp;
function createXMLHttpRequest(){
if(window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
}else if(window.ActiveXObject){
try{
xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
}
}
}
}
function doRequest(){
createXMLHttpRequest();
var url = "flush";
xmlhttp.onreadystatechange = callback;
xmlhttp.open("GET",url,true);
//xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlhttp.send(null);
}
function callback(){
if(xmlhttp.readyState==4){
if(xmlhttp.status==200){
window.setInterval(doRequest,"10000");
}
}
}
然后跳进servlet中
代码如下package com.Dtree.Servlet;import java.io.IOException;
import java.io.PrintWriter;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import com.Dtree.po.CameraInfo;
import com.Dtree.po.CameraStatus;
import com.Dtree.utils.DBUtils;public class flush extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
List camera=new ArrayList();
DBUtils db=new DBUtils();
ResultSet rs=null;
PreparedStatement stmt=null;
StringBuffer sqlSel=new StringBuffer();
CameraInfo camerainfo=new CameraInfo();
db.getConn();
sqlSel.append("select SBBH,MC,IP,TXDK,KZDK,LX,ZXZT from ITS_CAMERA ");
try {
stmt=db.getStatement(sqlSel.toString());
rs=stmt.executeQuery();
while(rs.next()){
camerainfo=new CameraInfo();
camerainfo.setCameraid(rs.getString("SBBH"));
camerainfo.setCameraName(rs.getString("MC"));
camerainfo.setCameraip(rs.getString("IP"));
camerainfo.setPicport(rs.getString("TXDK"));
camerainfo.setConport(rs.getString("KZDK"));
camerainfo.setType(rs.getString("LX"));
camerainfo.setStatus(rs.getString("ZXZT"));
camera.add(camerainfo);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
db.closeConn();
if(stmt!=null){
try {
stmt.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
request.getRequestDispatcher("devgroupmng_l.jsp").forward(request,response);
//response.sendRedirect("devgroupmng_l.jsp");
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doGet(request, response);
}}
各位帮我解决一下!谢谢各位了!急需解决呀!首先是frame页面 代码如下
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK" />
<title></title>
<link href="images/css.css" rel="stylesheet" type="text/css" />
</head>
<frameset cols="45%,*,0" frameborder="no" border="0" framespacing="0">
<frame src="devgroupmng_l.jsp" name="left" scrolling="no" noresize="noresize" id="left" />
<frame src="devgroupmng_f.jsp" name="right" scrolling="auto" noresize="noresize" id="right" />
<frame name="ddhidden" src="" />
</frameset>
<noframes><body>
</body>
</noframes></html>
左边页面devgroupmng_l.jsp是用dtree写的页面。就是树形图 部分代码如下 <script type="text/javascript">
d = new dTree('d');
<%
System.out.println("abcde");
GetGroup dao=new GetGroup();
Vector arr=new Vector();
GetDev getdev=new GetDev();
List list=new ArrayList();
List camera=new ArrayList();
camera=(List)request.getAttribute("camera");
DevGroupInfo vo=new DevGroupInfo();
GetCamera getcamera=new GetCamera();
camera=getcamera.getcamerainfo();
CameraStatus cs=new CameraStatus();
CameraInfo camerainfo=new CameraInfo();
list=getdev.getonlinedev();
arr=dao.getGroupInfo();
for(int i=0;i<arr.size();i++)
{
vo=new DevGroupInfo();
vo=(DevGroupInfo)arr.get(i);
if(vo.getDevId()==null||"".equals(vo.getDevId())){
%>
d.add('<%=vo.getGroupId()%>','<%=vo.getGroupParentId()%>','<%=vo.getGrouopName()%>',
'','','_target','img/tree.gif','img/tree.gif');
<%
}else{
for(int k=0;k<camera.size();k++){
camerainfo=new CameraInfo();
camerainfo=(CameraInfo)camera.get(k);
%>
IP='<%=camerainfo.getCameraip()%>';
cameraId='<%=camerainfo.getCameraid()%>';
port='<%=camerainfo.getConport()%>';
<%
if(vo.getDevId().equals(camerainfo.getCameraid().substring(0,10))){
if(camerainfo.getStatus().equals("1")){
%>
d.add('<%=vo.getGroupId()%>','<%=vo.getGroupParentId()%>','<%=vo.getGrouopName()%>',
'javaScript:forwards(\''+IP+'\',\''+cameraId+'\',\''+port+'\')','','','img/line_dev.GIF','','','');
<%
}else{
%>
d.add('<%=vo.getGroupId()%>','<%=vo.getGroupParentId()%>','<%=vo.getGrouopName()%>',
'javaScript:forwards(\''+IP+'\',\''+cameraId+'\',\''+port+'\')','','','img/noline_dev.GIF','','','<%=vo.getGroupId()%>');
<%}%>
<%}%>
<%
}
%>
<%}
%>
<%}
%>
document.write(d);
</script>
右边就是调用activeX页面。就别管了!然后我在左边那个页面devgroupmng_l.jsp用了ajax。就是要刷新dtree页面
ajax 代码如下
var xmlhttp;
function createXMLHttpRequest(){
if(window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
}else if(window.ActiveXObject){
try{
xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
}
}
}
}
function doRequest(){
createXMLHttpRequest();
var url = "flush";
xmlhttp.onreadystatechange = callback;
xmlhttp.open("GET",url,true);
//xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlhttp.send(null);
}
function callback(){
if(xmlhttp.readyState==4){
if(xmlhttp.status==200){
window.setInterval(doRequest,"10000");
}
}
}
然后跳进servlet中
代码如下package com.Dtree.Servlet;import java.io.IOException;
import java.io.PrintWriter;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import com.Dtree.po.CameraInfo;
import com.Dtree.po.CameraStatus;
import com.Dtree.utils.DBUtils;public class flush extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
List camera=new ArrayList();
DBUtils db=new DBUtils();
ResultSet rs=null;
PreparedStatement stmt=null;
StringBuffer sqlSel=new StringBuffer();
CameraInfo camerainfo=new CameraInfo();
db.getConn();
sqlSel.append("select SBBH,MC,IP,TXDK,KZDK,LX,ZXZT from ITS_CAMERA ");
try {
stmt=db.getStatement(sqlSel.toString());
rs=stmt.executeQuery();
while(rs.next()){
camerainfo=new CameraInfo();
camerainfo.setCameraid(rs.getString("SBBH"));
camerainfo.setCameraName(rs.getString("MC"));
camerainfo.setCameraip(rs.getString("IP"));
camerainfo.setPicport(rs.getString("TXDK"));
camerainfo.setConport(rs.getString("KZDK"));
camerainfo.setType(rs.getString("LX"));
camerainfo.setStatus(rs.getString("ZXZT"));
camera.add(camerainfo);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
db.closeConn();
if(stmt!=null){
try {
stmt.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
request.getRequestDispatcher("devgroupmng_l.jsp").forward(request,response);
//response.sendRedirect("devgroupmng_l.jsp");
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doGet(request, response);
}}
function createXMLHttpRequest(){
if(window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
}else if(window.ActiveXObject){
try{
xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
}
}
}
}
function doRequest(){
createXMLHttpRequest();
var url = "flush";
//alert("abc");
xmlhttp.onreadystatechange = callback;
xmlhttp.open("GET",url,true);
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlhttp.send(null);
}
function callback(){
if(xmlhttp.readyState==4){
if(xmlhttp.status==200){
var result=xmlhttp.responseXML;
handXML(result);
}
}
}
function handXML(result){
var showXML="<table>";
var dTree=result.getElementsByTagName("dTree");
for(i=0;i<dTree.length;i++){
var person=dTree[i].childNodes;
for(j=0;j<person.length;j++){
showXML+="<tr>";
var value = person[j].firstChild.data;
showXML+="<td>"+value+"</td>";
showXML+="</tr>";
}
}
showXML+="</table>";
document.getElementById("show").innerHTML=showXML;
}
setInterval("doRequest()",5000);然后是servlet代码public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
/* DBUtils db=new DBUtils();
PreparedStatement stmt=null;
ResultSet rs=null;
List videos=new ArrayList();
StringBuffer sqlSel=new StringBuffer();
CameraStatus cs=new CameraStatus();
sqlSel.append("select CH_CAMERA_SERVICE_ID,PATH,STATUS from ITS_CAMERA_STATUS ");
db.beginTransaction();
try {
stmt=db.getStatement(sqlSel.toString());
rs=stmt.executeQuery();
while(rs.next()){
cs=new CameraStatus();
cs=new CameraStatus();
cs.setCameraId(rs.getString("CH_CAMERA_SERVICE_ID"));
cs.setPath(rs.getString("PATH"));
cs.setStatus(rs.getString("STATUS"));
videos.add(cs);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
stmt.close();
db.closeConn();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
request.getRequestDispatcher("devgroupmng_l.jsp").forward(request,response);
//response.sendRedirect("devgroupmng_l.jsp");
*/
PrintWriter out=response.getWriter();
StringBuffer xmlTree= new StringBuffer("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
xmlTree.append("<dTree>");
PreparedStatement stmt=null;
GetGroup getgroup=new GetGroup();
GetCamera getcamera=new GetCamera();
CameraInfo camerainfo=new CameraInfo();
DevGroupInfo devgroupinfo=new DevGroupInfo();
Vector vt=new Vector();
List list=new ArrayList();
vt=getgroup.getGroupInfo();
list=getcamera.getcamerainfo();
for(int i=0;i<vt.size();i++){
devgroupinfo=new DevGroupInfo();
devgroupinfo=(DevGroupInfo)vt.get(i);
xmlTree.append("<groupname>");
xmlTree.append(devgroupinfo.getGrouopName());
xmlTree.append("<groupname>");
for(int j=0;j<list.size();j++){
camerainfo=new CameraInfo();
camerainfo=(CameraInfo)list.get(j);
xmlTree.append("<status>");
xmlTree.append(camerainfo.getStatus());
xmlTree.append("</status>");
}
}
xmlTree.append("</dTree>");
out.println(xmlTree.toString());
out.close();
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doGet(request, response);
}}在然后就跳入devgroupmng_l.jsp属性dtree控件
dtree控件代码如下
<tr align="center" >
<td class="tableBorder4"><img src="images/dot.gif" alt="" width="1" ></td>
<td width=95% >
<div style="text-align:left;width:95%;overflow-x:no;overflow-y:no" id="show">
<script type="text/javascript">
d = new dTree('d');
<%
//System.out.println("abcde");
GetGroup dao=new GetGroup();
Vector arr=new Vector();
GetDev getdev=new GetDev();
List list=new ArrayList();
List camera=new ArrayList();
camera=(List)request.getAttribute("camera");
DevGroupInfo vo=new DevGroupInfo();
GetCamera getcamera=new GetCamera();
camera=getcamera.getcamerainfo();
CameraStatus cs=new CameraStatus();
CameraInfo camerainfo=new CameraInfo();
list=getdev.getonlinedev();
arr=dao.getGroupInfo();
for(int i=0;i<arr.size();i++)
{
vo=new DevGroupInfo();
vo=(DevGroupInfo)arr.get(i);
if(vo.getDevId()==null||"".equals(vo.getDevId())){
%>
d.add('<%=vo.getGroupId()%>','<%=vo.getGroupParentId()%>','<%=vo.getGrouopName()%>',
'','','_target','img/tree.gif','img/tree.gif');
<%
}else{
for(int k=0;k<camera.size();k++){
camerainfo=new CameraInfo();
camerainfo=(CameraInfo)camera.get(k);
%>
IP='<%=camerainfo.getCameraip()%>';
cameraId='<%=camerainfo.getCameraid()%>';
port='<%=camerainfo.getConport()%>';
<%
if(camerainfo.getCameraid().substring(0,10).equals(vo.getDevId())){
if(camerainfo.getStatus().equals("1")){
%>
d.add('<%=vo.getGroupId()%>','<%=vo.getGroupParentId()%>','<%=vo.getGrouopName()%>',
'javaScript:forwards(\''+IP+'\',\''+cameraId+'\',\''+port+'\')','','','img/line_dev.GIF','','','');
<%
}else{
%>
d.add('<%=vo.getGroupId()%>','<%=vo.getGroupParentId()%>','<%=vo.getGrouopName()%>',
'','','','img/noline_dev.GIF','','','<%=vo.getGroupId()%>');
<%}%>
<%}%>
<%
}
%>
<%}
%>
<%}
%>
document.write(d);
</script>
</div>
</td>
<td class="tableBorder4"><img src="images/dot.gif" alt="" width="1" ></td>
</tr>大家帮帮忙吧!怎么刷新一下页面,就是那树形图没有了啊!谢谢了
这句话一般放到doGet(doPost)最后一句。