Ajax

本文详细解析了XMLHttpRequest对象的创建与使用,包括属性、方法及AJAX标签的应用,同时介绍了如何利用XMLHttpRequest进行登录操作,并讨论了在Struts2-Dojo插件下使用AJAX的技术细节。此外,文章还覆盖了AJAX中常用标签的使用场景,如树形结构展示、日期选择器、JSON数据交互等,并深入探讨了文件上传、下载的基本实现。

XMLHttpRequest

<script language="javascript" type="text/javascript">
<!--
    var xmlhttp;

    // 创建XMLHTTPRequest对象
    function createXMLHTTPRequest(){
        if(window.ActiveXObject){ // 判断是否支持ActiveX控件
            // 通过实例化ActiveXObject的一个新实例来创建XMLHTTPRequest对象
            xmlhttp = new ActiveObject("Microsoft.XMLHTTP");     
         }else if(window.XMLHTTPRequest){ // 判断是否把XMLHTTPRequest实现为一个本地javascript对象
            xmlhttp = new XMLHTTPRequest(); // 创建XMLHTTPRequest的一个实例(本地javascript对象)
         }
    }
//-->
</script>



XMLHttpRequest对象的属性和方法


readyState属性 代表请求状态







<script type="text/javascript">
 /*定义xmlhttprequest变量*/
 var XHR= false;
 function CreateXHR(){
	 try{
		 	/*检查能否用activexobject*/
			XHR = new ActiveXObject("msxml2.XMLHTTP");
		}catch(e1){
			try{
				/*检查能否用activexobject*/
				XHR = new ActiveXObject("microsoft.XMLHTTP");
			}catch(e2){
				try{
					/*检查能否用本地javascript对象*/
					XHR = new XMLHttpRequest();
				}catch(e3){
					//创建失败
					XHR = false;
				}
			}
		}
     }   
function sendRequest(){
  //创建xmlhttprequest对象
   CreateXHR();
   if(XHR){
	 //创建成功
	 //得到name的值
	 var name=document.getElementById("name").value;
	 //得到password的值
	 var password=document.getElementById("password").value;
	 //要访问的uri
	 var uri="http://localhost:8080/AjaxDemo/login.action?name="+name+"&password="+password;
	//var uri="http://localhost:8080/AjaxDemo/login.action?name=1&password=1";
	//访问open
     XHR.open("GET",uri,true); 
	//设置事件触发器
     XHR.onreadystatechange = resultHander; 
	//发送请求
     XHR.send(null); 
  } 
}
 function resultHander(){
	 //检查状态
   if (XHR.readyState == 4 && XHR.status == 200){ 
	  //显示提示框
      alert(XHR.responseText);
    }
 } 
</script> 


ajax 标签

引入 struts2-dojo-plugin
在jsp使用时加入<%@ taglib prefix="sx" uri="/struts-dojo-tags" %>       ... <sx:head>



a标签

targetsstring逗号分隔的Html元素id列表,这些元素的内容将被更新
handlerstring指定处理请求的Javascript函数名
formIdstring指定表单id,表单的字段将被序列化作为参数传递
formFilterstring指定过滤表单字段的javascript函数名
loadingTextstring指定请求赈灾处理时,targets属性指定表单元素显示的内容
errorTextstring请求失败时targets属性指定的表单元素显示的文本
executeScriptboolean若果为true,请求返回内容中的Javascript将被执行



















<sx:tree>
<sx:treenode>
...
</sx:tree>


datetimepicker 




json插件

在action类中的json注释




json的action配置



json返回对象




文件上传下载

文件上传表单



文件上传action类



action配置



文件下载action类



action配置











内容概要:本研究针对微电网在遭受拒绝服务(DoS)攻击时面临的功率分配不均与电能质量问题,提出了一种兼顾功率精确均分与电压频率质量恢复的抗攻击混合动态事件触发二次控制策略。该策略通过设计新型混合动态事件触发机制,有效减少控制器与分布式单元间的网络通信负担,同时增强系统对DoS攻击的鲁棒性。研究构建了完整的微电网二次控制框架,整合了分布式协同控制算法与事件触发通信机制,在保证系统稳定性的同时,实现了对频率、电压偏差的快速调节和有功/无功功率的精确分配。通过Simulink平台进行仿真实验,验证了所提方法在遭受DoS攻击及正常运行工况下均能有效维持微电网的稳定运行与高质量电能输出。; 适合人群:具备电力系统自动化、分布式控制或微电网相关基础知识,从事新能源、智能电网领域研究的研发人员及高年级研究生。; 使用场景及目标:① 解决微电网在通信受限及网络攻击场景下的协同控制难题;② 实现微电网在异常工况下功率均分与电能质量的双重优化;③ 为设计高安全性、高可靠性的智能微电网控制系统提供理论依据与仿真验证方案。; 阅读建议:本资源侧重于控制策略的设计与仿真验证,建议读者结合微电网基础理论与Simulink仿真技术,深入理解事件触发机制与抗DoS攻击控制算法的实现细节,并动手复现仿真案例以加深对系统动态性能与鲁棒性的认识。
内容概要:本文围绕《【太阳能学报EI复现】基于粒子群优化算法的风-水电联合优化运行分析(Matlab代码实现)》展开,系统阐述了采用粒子群优化算法(PSO)对风能与水力发电系统进行联合优化调度的研究方法与技术路径。研究聚焦于构建多能源互补协调的优化模型,详细论述了目标函数的设计、系统约束条件的处理、算法求解流程及收敛性分析,并通过Matlab编程实现了完整的仿真验证过程,有效提升了可再生能源系统的运行效率与稳定性。该工作属于电力系统智能优化领域,强调对高水平期刊论文的高精度复现,兼具理论深度与工程实用性,适用于科研复现、学术研究与教学参考。; 适合人群:具备一定电力系统基础知识和Matlab编程能力的研究生、科研人员及从事新能源优化调度、智能算法应用的工程技术人员。; 使用场景及目标:①用于复现《太阳能学报》等高水平期刊中关于风-水电联合调度的EI/SCI论文;②掌握粒子群算法在多源协同优化中的建模、编码与求解关键技术;③辅助完成学位论文、科研项目申报或学术竞赛中的仿真建模任务; 阅读建议:建议结合文中提供的网盘资源下载完整代码与文档资料,按照目录结构循序渐进学习,重点关注算法实现细节、电力系统建模逻辑与参数设置方法,同时可延伸学习灰狼优化算法、YALMIP工具包等先进优化技术,以全面提升科研仿真与创新能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值