⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 message.htc

📁 HTC,demo WEB用于。 超大型
💻 HTC
字号:
<public:component name="message" urn="message">
<public:property name="target" put ="putTarget" get="getTarget"/>
<public:property name="action" put ="putAction" get="getAction"/>
<public:property name="transaction" put="putTransaction" get="getTransaction" value="true"/>//是否为一个事物
<public:property name="ansy" put ="putAnsy" get="getAnsy" value="true"/>//是否异步
<public:property name="type" put ="putType" get="getType" value=""/>//消息类别

<public:property name="reqestType" put ="putRequestType"/>
<public:property name="reqestQueryStart" put ="putRequestQueryStart"/>
<public:property name="reqestQueryStep" put ="putRequestQueryStep"/>

<public:property name="messageBody" get="getMessageBody"/>

<public:property name="parseState" get="getParseState" value="empty"/>//当前MsgBody的解析状态
                                                                      //"empty"   :   XML为空,没有解析
                                                                      //"correct" :   解析正确
                                                                      //"error"   :   解析错误
<public:property name="inUseState" put="putInUseState" get="getInUseState" value="free"/>//当前MsgBody的被用状态。
                                                                                         //由于MsgBody在Common中,以堆形式被重用,因此需要标注当前被用状态,
                                                                                         //只有当前空闲可用的MsgBody实体才能够被重新分配使用
                                                                                         //"free"   :    可以使用
                                                                                         //"busy"   :    已经被某处使用,暂时不能使用
<public:property name="outerXML" put="putOuterXML" get="getOuterXML"/>//String类型,Fragement的全部内容
<public:property name="init" put="initialize"/>

<public:method name="addParameter" internalname="addParameterNode"/>
<public:method name="addR" internalname="addRNode"/>
<public:method name="addOther" internalname="addOtherNode"/>
<public:method name="addMessage" internalname="addMessageNode"/>

<script language="JavaScript">
<!--
  var objXMLFragement = null;
  var objReq = null;
  var objRes = null;
  
  var strInUseState = "free";
  var strReqType = "r"; //r - 读  w - 写
  var strReqQueryStart = 0;//读取起点
  var strReqQueryStep = 20;//读取记录数
  
  function initialize(anyInit){//初始化过程
    objXMLFragement = __objGlobalCommonInst.inputXML("<Message/>");      
    objXMLFragement.childNodes(0).setAttribute("target","");
    objXMLFragement.childNodes(0).setAttribute("action","");
    objXMLFragement.childNodes(0).setAttribute("transaction","true");
    objXMLFragement.childNodes(0).setAttribute("ansy","true");
    objXMLFragement.childNodes(0).setAttribute("type","0");
  }
  
  /*
	装配Parameter节点  
  */
  
  function addParameterNode(strName, strValue){//装配Parameter
	addReq();
	addRes();
	
	var objPES = null;
	var objPE = null;
	if( !objXMLFragement ) initialize();
    objPES = objXMLFragement.selectSingleNode("//node()[name()='Parameters']");    
    
    if( !objPES ){//
		objPES = __objGlobalCommonInst.createElement("Parameters");
		objPES = objReq.appendChild(objPES);
    }
    objPE = __objGlobalCommonInst.createElement("Parameter");
    objPE.setAttribute("name",strName);
    objPE.text = strValue;
    objPES.appendChild(objPE);
  }
  
  /*
	装配r节点
	传入一个node,结构为<root><r/>....<r/></root>
  */
  
  function addRNode(objNode){

	addReq();
	addRes();
	var objRows = null;
	var objSwapR = null;
	var intRNodeLength = 0;
	
	if(typeof(objNode) != "object") return;
	if( !objXMLFragement ) initialize();
	objRows = objXMLFragement.selectSingleNode("//node()[name()='Rows']");
	if( !objRows ){//
		objRows = __objGlobalCommonInst.createElement("Rows");
		objRows = objReq.appendChild(objRows);
    }
	intRNodeLength = objNode.childNodes[0].childNodes.length;
	
	if( intRNodeLength != 1 ){//多个r
		for( var i = 0; i < intRNodeLength; i ++ ){
			objSwapR = objNode.childNodes[0].childNodes[i].cloneNode(true);
			objRows.appendChild(objSwapR);
		}
	}else{//单个r 
		objRows.appendChild(objNode.childNodes[0].childNodes[0]);
	}
  }
  
  /*
	装配Other节点
  */
  
  function addOtherNode(objOtherNode){
	addReq();
	addRes();
	if(typeof(objOtherNode) != "object") return;
	if( !objXMLFragement ) initialize();
	var objOther = objXMLFragement.selectSingleNode("//node()[name()='Other']");
	if( !objOther ){//
		objOther = __objGlobalCommonInst.createElement("Other");
		objOther = objReq.appendChild(objOther);
    }
    objOther.appendChild(objOtherNode);
  }
  
  /*
	装配Message节点
  */
  
  function addMessageNode(objMessageNode){
	addReq();
	addRes();
	if(typeof(objMessageNode) != "object") return;
	if( !objXMLFragement ) initialize();
	var objMessage = objXMLFragement.selectSingleNode("//Req/node()[name()='Message']");
	if( !objMessage ) objMessage = __objGlobalCommonInst.createElement("Message");
	objMessage.appendChild(objMessageNode);
	objReq.appendChild(objMessage);
  }
  
  function addReq(){
	if( !objXMLFragement ) initialize();
	var objReqNode = objXMLFragement.selectSingleNode("//Req");
	
	if(!objReqNode ){//没有有Req节点
		objReq = __objGlobalCommonInst.createElement("Req");
		objReq.setAttribute("type",strReqType);
		if( strReqType == 'r'){//读操作
			objReq.setAttribute("query_Start",strReqQueryStart);
			objReq.setAttribute("query_Step",strReqQueryStep);
		}
		objXMLFragement.childNodes(0).appendChild(objReq);
	}
  }
  
  function addRes(){
	if( !objXMLFragement ) initialize();
	var objResNode = objXMLFragement.selectSingleNode("//Res");
	
	if(!objResNode){//
		objRes = __objGlobalCommonInst.createElement("Res");
		objXMLFragement.childNodes(0).appendChild(objRes);
	}
  }
  ////////////////////////////////////////////////////////
  function putInUseState(sInUseState){//设置使用状态标志
	switch(sInUseState.toString().toLowerCase()){
		case "free":
			strInUseState = "free";
			objXMLFragement = null;
			__objGlobalCommonInst.freeMsgBodyCount = __objGlobalCommonInst.freeMsgBodyCount + 1;
			break;
		case "busy":
			strInUseState = "busy";
			__objGlobalCommonInst.freeMsgBodyCount = __objGlobalCommonInst.freeMsgBodyCount - 1;  
			break;
	}
  }
  
  function getInUseState(){//获取使用状态标志
    return strInUseState;
  }
  
  function putTarget(sTarget){//设置Target
    if( !objXMLFragement ) initialize();
    objXMLFragement.childNodes(0).setAttribute("target",sTarget);
  }

  function getTarget(){//获取target
    return objXMLFragement.getAttribute("target");
  }

  function putAction(sAction){//设置action
    if( !objXMLFragement ) initialize();
    objXMLFragement.childNodes(0).setAttribute("action",sAction)
  }

  function getAction(){//获取action
    return objXMLFragement.getAttribute("action");
  }
  
  function putOuterXML(sOuterXML){//一次设置全部XML代码
    if(typeof(sOuterXML) != "string") return;
    //将当前的XML代码装载到Fragement  
    objXMLFragement = __objGlobalCommonInst.inputXML(sOuterXML);
  }

  function getOuterXML(){
    return objXMLFragement.xml;
  }
  
  function putRequestType(argRequestType){
	strReqType = argRequestType;
  }
  
  function putRequestQueryStart(argRequestQueryStart){
	strReqQueryStart = argRequestQueryStart;
  }
  
  function putRequestQueryStep(argRequestQueryStep){
	strReqQueryStep = argRequestQueryStep;
  }
  
  function getMessageBody(){
	return objXMLFragement.cloneNode(true);
  }

//-->
</script>
</public:component>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -