STRUTS1.2+AJAX

在一个页面上有两个DIV,DIV1和DIV2,在DIV1中有一棵树,在DIV2中有一个struts   form,在struts   form中有一个文本框和一个提交按钮,我想实现如下功能:在文本框中写上信息,然后按提交按钮,提交按钮会调用struts的action,将文本框中的数据写入数据库中,然后DIV2中的struts   form刷新为初始状态,我想知道如何实现页面DIV2的刷新而DIV1页面保持不变?有代码可以参考吗?

-----div       1------------                 ------div     2------------------------
|         tree                               |               |         ------struts   form--------------|
|                                               |               |       |         text   area                                     |
|                                               |               |       |                               button                     |
|                                               |               |       --------------------------------|
-------------------------                 -----------------------------------
 
 
问题点数:100 回复次数:6 显示所有回复显示星级回复显示楼主回复修改 删除 举报 引用 回复

进入用户个人空间
加为好友
发送私信
在线聊天
  • cloudgamer
  • http://shundebk.cn/ QQ76511088
  • 等级:
  • 可用分等级:富农
  • 总技术专家分:14247
  • 总技术专家分排名:1114
发表于:2007-02-07 21:52:091楼 得分:0
帮顶
 
修改 删除 举报 引用 回复
进入用户个人空间
加为好友
发送私信
在线聊天
  • shenglijay
  • 无地放屎!!!
  • 等级:
  • 可用分等级:中农
  • 总技术专家分:1253
  • 总技术专家分排名:16177
发表于:2007-02-08 08:50:002楼 得分:0
点击button,通过触发onclick事件。写点ajax代码应该可以实现的。通过你的js代码来提交给action.在通过响应信息来刷新你的form
 
修改 删除 举报 引用 回复
进入用户个人空间
加为好友
发送私信
在线聊天
  • zhangsc
  • 爱德华
  • 等级:
  • 可用分等级:富农
  • 总技术专家分:56
  • 总技术专家分排名:118779
发表于:2007-02-08 11:49:553楼 得分:0
有一点我没有明白,在通过js来调用struts   action,action结束后会调用forward,会使整个页面刷新,我想知道如何实现局部刷新,能给出具体的代码吗?
 
修改 删除 举报 引用 回复
进入用户个人空间
加为好友
发送私信
在线聊天
  • shenglijay
  • 无地放屎!!!
  • 等级:
  • 可用分等级:中农
  • 总技术专家分:1253
  • 总技术专家分排名:16177
发表于:2007-02-08 13:08:374楼 得分:0
你调struts   action   时侯,action   里面   最后要返回一个forward对象时,   你写成   return   null;   这样它就会返回到你的页面。实现的效果就是局部刷新
 
修改 删除 举报 引用 回复
进入用户个人空间
加为好友
发送私信
在线聊天
  • zhangsc
  • 爱德华
  • 等级:
  • 可用分等级:富农
  • 总技术专家分:56
  • 总技术专家分排名:118779
发表于:2007-02-08 13:28:505楼 得分:0
是可以这样做,但是却没有使用上Ajax技术,Ajax技术的优势一点都没有体现出来
 
修改 删除 举报 引用 回复
进入用户个人空间
加为好友
发送私信
在线聊天
  • shenglijay
  • 无地放屎!!!
  • 等级:
  • 可用分等级:中农
  • 总技术专家分:1253
  • 总技术专家分排名:16177
发表于:2007-02-08 17:18:296楼 得分:100
页面:
------------------------------------------------------------
<html>
<head>
<script   type= "text/javascript ">
var   http   =   getHttpObject();
                                   
                                    /*   确保在ie的各式版本,以及在firefox或其他浏览器下,都有用的xmlhttpRequest     */
function   getHttpObject(){
var   xmlhttp   =   false;
if(window.XMLHttpRequest){
xmlhttp   =   new   XMLHttpRequest();
if(xmlhttp.overrideMimeType){
xmlhttp.overrideMimeType( 'text/xml ');
  }
}
else{
try{
xmlhttp   =   new   ActiveXObject( "Msxml2.XMLHTTP ");
}catch(e){
try{
xmlhttp   =   new   ActiveXObject( "Microsoft.XMLHTTP ");
}catch(e){
xmlhttp   =   false;
}
        }
}
return   xmlhttp;
}

function   handleHttpResponse(){
if(http.readyState   ==   4){
if(http.status   ==   200){
var   text   =   http.responseText;
if(text   !=   null   ||   text.length   > 0)
//   update   the   textarea;
document.getElementById( "input ").value   =   text;
}
else{
alert( "error!!! ");
alert(http.status);
}
}
}

function   getInfo(){
var   url   =   "aaa.do ";   //   your   action   name
http.open( "GET ",url,true);
http.onreadystatechange   =   handleHttpResponse;
http.send(null);
return   ;
}
</script>
</head>
<body>
<div   id= "tree "   style= "width:150px;height:500px;float:left;background-color:limegreen; "> this   is   a   menu   tree </div>
<div   id= "form "   style= "width:820px;height:500px;float:left;background-color:yellow; ">
textArea: <input   type= "text "   id= "input "> <br>
<input   type= "button "   onclick= "getInfo(); "   value= "Submit ">
</div>
</body>
</html>
-------------------------------------------
Action
--------------------------------------------
public   class   GetMsgAction   extends   Action   {

public   ActionForward   execute(ActionMapping   mapping,   ActionForm   form,
HttpServletRequest   request,   HttpServletResponse   response)   {
response.setContentType( "text/html ");
response.setCharacterEncoding( "utf-8 ");
try   {
response.getWriter().write( "hello,this   is   the   update   text!! ");
}   catch   (IOException   e)   {
e.printStackTrace();
}
//   should   be   return   null;
return   null;
}
}
-------------------------------------
大致就是这样啊,至于你要更新什么,还是从数据库取什么在更新就自己做吧,我只是做个简单的例子

系统介绍 根据网络在线考试系统的特点,可以将其分为前台和后台两个部分进行设计。前台主要用于考生注册和登录系统、在线考试、查询成绩以及修改个人资料等;后台主要用于管理员对考生信息、课程信息、考题信息和考生成绩信息等进行管理。 操作注意事项 (1)本系统管理员用户名为:tsoft,密码为:111。 (2)本系统共分为二种操作权限,分别为学生和管理员。  考生:注册和登录系统、在线考试、查询成绩以及修改个人资料。  管理员:对考生信息、课程信息、考题信息和考生成绩信息等进行管理。 (3)如果您忘登录密码,本程序提供了找回密码功能,根据提示操作,成功将找回密码。 (4)添加考试题管理信息时,单选题和多选题必须都添加,否则无法进入该课程考试。 操作流程 首先单击“注册”按钮,注册准考证号和密码,成为本网络在线考生。  考生 单击“登录”导航按钮,进行登录,进入到考生操作页面,如图1.1所示。在该页面中考生可以在线考试、查询成绩以及修改个人资料。 图1.1 考生操作页面  管理员 单击“进入后台”按钮,进行登录,进入到管理员作页面,如图1.2所示。 图1.2 管理员操作页面 (1)单击“管理员信息管理”按钮,对管理员信息进行添加、修改及删除操作。 (2)单击“考生信息管理”按钮,对考生信息进行查看及删除操作。 注意:如果该考生已经考过试,那么该考生的信息无法删除。 (3)单击“考生成绩查询”按钮,对所有考生的成绩进行查询操作。 (4)单击“课程信息管理”按钮,对课程信息进行添加、查看及删除操作。 (5)单击“套题信息管理”按钮,对套题信息进行添加、修改及删除操作。 (6)单击“考试题目管理”按钮,对考试题目信息进行添加、修改及删除操作。 (7)单击“退出后台管理”按钮,退出后台管理操作界面。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值