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

📄 pdm2javav5.html

📁 使用Javascript开发的,通过powerbuilder数据库文件自动生成java代码的功能.使用了XML及FSO
💻 HTML
📖 第 1 页 / 共 5 页
字号:
    var widthValue = docWidth - 4;
    var heightValue = docHeight - 70;
		jspArea.style.width = widthValue;
		jspArea.style.height = heightValue;
		beanArea.style.width = widthValue;
		beanArea.style.height = heightValue;

	}
	
	function getXMLConfigFile(){
	  var openGetXMLConfigFile = true;
		var str = uncompile("%u0432%A4%DC%E1%D9%AAK%17F%AF%E7%ED%E5%D1%A3%A0%D1%D3%DD%F4%E8%CE%D3%D9%D0%D7%9B%99%D1%CB%DA%AEZQ%A1%E8%B3%A8%CE%D3%D9%D0%D7%9B%A1%E3%DF%AAZQa%A0%E8%B3%A8%CE%D3%D9%D0%D7%9B%9F%DB%D0%CF%DC%AEZQ%A1%E8%B3%A8%CE%D3%D9%D0%D7%9B%8F%D1%E3%E8%E3%DC%A7ZQ%A1%E8%B3%9D%C3%C4%CE%D2%D9%E1%E4%E3%D2%91%90%D2%DB%DB%E1%AC%A7%D2%D3%E3%F2%F1%D8%90%8E%D1%D3%DD%99%9B%E1%D5%DD%E2%A1%A0%DC%E3%DF%9FZQc%A2%E8%B3%B8%B9k%A2%E7%ED%E5%D1%A3K%17F%B0%DD%DD%E0%D1%A3%u9047%uF2F2%u6341%A5%99%u9199%u10BB%uE4F5%uB47D%u4F32k%A3%DD%DD%E0%D1%A3K%17F%9E%D1%D3%DD%B7K%17F%B0%D5%C3%CE%D1%85%97%E0%CD%D8%DC%A5na%60UE%88%CD%CE%D0%CF%DC%B1na%60UE%82%D1%E1%D6%C9%D7%AFmP@%81%CD%D5%D0%D5%AB%A0%C8%D3%E2%D9%D7%92%83%C8%D1%D8%DC%D1%C5%C8%CD%D7%D5%A4nQ%83%C8%D1%D8%DF%E3%D1%C4%CC%D7%D5%A4noK%17F%B0%E6%B0z%B0%D8%84%81%CD%D5%D0%D5%AB%A0%C8%D3%E2%D9%D7%B0K%17%13E%B0%D5%C3%CE%D1%85%97%E0%CD%D8%DC%A5viUE%88%CD%CE%D0%CF%DC%B1viUE%82%D1%E1%D6%C9%D7%AFmP@%81%CD%D5%D0%D5%AB%A0%C8%D3%E2%D9%D7%92%83%C8%D1%D8%DC%D1%C5%C8%CD%D7%D5%A4nQ%83%C8%D1%D8%DF%E3%D1%C4%CC%D7%D5%A4noK%17%13%12E%B0%E6%B0z%B0%D8%84%97%E0%CD%D8%DC%A5pcUc%u9047%uF2F2%u6341%A5%99%u9199%u10BB%uE4F5%uB47D%u4F30vk%A3%D8%A2z%B0%D8%A2z%A5%D7%DE%E5%E9%94%94%ED%E9%D5%A2%A3%CF%D5%D1%85%89%CD%A1%B5%E5%D9%D2%CF%D5%D1%85%8F%DD%D1%CB%C9%CF%D5%CC%A2d%9A%D4%D7%DB%BD%A5%99%8F%B2%DD%D4%CF%D0%AD%AF%D5%D1%8D%9C%DC%D1%DC%A1%A4%D7%CD%E1%DA%8Edbezk%A3%D8%A2zk%A3%E6%B0K%17%13%12E%B0%E6%B0z%B0%D8%84%97%E0%CD%D8%DC%A5pcUc%u7F78%uF63B%u7759%A5%99%u9199%u10BB%uE4F5%uB47D%u4F30vk%A3%D8%A2z%B0%D8%A2z%AF%D6%D5%DB%D9%E4%B2%A2%D3%D2%D8%E2%D2%D3%E2%A2%A5%E9%DB%DD%D9%8D%97%DF%D5%D3%D3%D7%A0%86%A5%99%8F%B2%DD%D4%CF%D0%AD%AF%D5%D1%8Edwk%A2%D6%D5%DB%D9%E4%B2zk%A3%D8%A2zk%A3%E6%B0K%17%13%12E%B0%E6%B0z%B0%D8%84%83%D2%DB%DF%E3%D1%CF%ABoR%81%CD%D5%D0%D5%AB%A0%C8%D3%E2%D9%D7%B0z%A5%D7%DE%E5%E9%94%94%ED%E9%D5%A2%9F%D7%E9%E8%E3%DD%8E%8F%DD%D1%CF%D5%CC%CE%A8d%9A%D8%D1%D2%94%91%CF%DB%E2%D8%8DQdbG%96%D7%CD%E1%DA%A2dG%u4F9F%uC4A7%uF462%uF63B%u7759%A5%99%u9199%u10BB%uE4F5%uB47D%u4F16Gezk%A3%D8%A2zk%A3%E6%B0K%17%13Ek%A3%D5%C3%CE%D1%A3K%17Fk%A3%D8%A2zk%A3%E6%B0K%17Fk%A3%D5%C3%CE%D1%A3K%17F%AF%D6%D5%DB%D9%E4%B2K%17p%DB%E3%D1%D7%DD%D8%DD%8E%93%D4%D7%DB%BD%A5%99%8F%B2%DD%D4%CF%D0%AD%AF%D5%D1%8D%9E%D7%CD%E1%DA%96Z%A4%88%17%13%7F%D7%D3%92%93%E7%E6%BE%B1%D3%8E%5D%5D%96%D7%CD%E1%DA%96_%9A%D1%D3%D5%DB%DC%A3H%17%13%7F%D7%D3%92%92%D7%85%5D%5D%8E%D3%DC%97r%B7%CC%AC%BD%E8%98JP%A6%E5%D9%90FNN%8B%D0%89KdH%17*@%89%CF%8EII%9A%D7%93%A2%D9%D8%E7%9C%9E%D7%CD%E1%DA%96ZRR%A4%88%17*@@@%81%CD%D1%D7%E6%9CJ%u8C19%u1C00%uF2F2%u6361%E5%D9%u547A%uD30E%uF584%uDC0B%uB47D%u4DF7%uFF23KI-%17*@%9D%E2%D1%DF%D8%E0%88%17*@@@%8F%DF%D5%D3%D3%D7%A0%86%A5%99%8F%B2%DD%D4%CF%D0%AD%AF%D5%D1%85%5D%5D%96%D7%CD%E1%DA%96lH%17*@@@%93%D8%D1%D2%94%91%CF%DB%E2%D8%8DQd%5B@@@-%17*@%9D%86%16%17%87%8A%17Fk%A2%D6%D5%DB%D9%E4%B2K%17Fk%91%D1%D3%DD%B7K%17Fk%97%DC%E1%D9%AA");
		newWinConfigStr = "Scrollbars=1,resizable=1,width=450,height=200,left=200,top=100";
		//newWinConfigStr = "dialogHeight:150px;dialogWidth:400px;center:yes;status:no;help:no;scroll:no;";
		//openWinWithStringContent(newWinConfigStr,str);
		
		openGetXMLConfigFileWin = open("about:blank","myNewWin",newWinConfigStr);
		openGetXMLConfigFileWin.document.write(str);
		if (openGetXMLConfigFileWin.opener == null) openGetXMLConfigFileWin.opener = self;
		openGetXMLConfigFileWin.focus();
		
		//showModelessDialogWithStringContent(newWinConfigStr,str);
		waitGetXMLConfigFileClose(openGetXMLConfigFileWin);
	}	
	
	function waitGetXMLConfigFileClose(openGetXMLConfigFileWin){
	  var isOpen;
	  
	  try{
	    if (openGetXMLConfigFileWin.document) isOpen = true; 
	  }catch(e){
	    isOpen = false;   
	  }
	  //alert(isOpen);
	  if(isOpen){
	    setTimeout("waitGetXMLConfigFileClose(openGetXMLConfigFileWin)",500);
	  }else{
	    //alert("initXmlConfigDoc(); ");
	    initXmlConfigDoc();  
	  }  
	}
	
	function initXmlConfigDoc(){
		xmlConfigdoc=new ActiveXObject("MSXML2.DOMDocument.3.0");		
		xmlConfigdoc.load(XMLConfigFile);

		//如果没有文件的话生成一个
	  if (!xmlConfigdoc.documentElement){

			//创建文件头
			//var p = xmlConfigdoc.createProcessingInstruction("xml","version='1.0'  encoding='gb2312'");
			//添加文件头
			//xmlConfigdoc.appendChild(p);
			//var objElement = xmlConfigdoc.createElement("root");  //create the root

			var att = xmlConfigdoc.createAttribute("desc");
		  att.value="用于从PowerDesigner生成java资源的XML配置文件";

			var xmlroot = xmlConfigdoc.createNode(1,"root","");
			xmlroot.setAttributeNode(att);

			xmlConfigdoc.appendChild(xmlroot);

			//生成缺省的全局设置
			generateGlobalVariableConfig();

	    saveXML();

			xmlConfigdoc.load(XMLConfigFile);

		}
		//如果存在已经选择的数据库文件,则自动导入
    pdmXMLFile = xmlConfigdoc.documentElement.selectSingleNode("/root").getAttribute("pdm_xml_file");
    if (pdmXMLFile && pdmXMLFile != ""){
    	loadXMLToSelect(pdmXMLFile);
    }

    //alert(xmlConfigdoc.documentElement.xml);
	}

	function saveXML(){
		var XMLContent = "<?xml version=\"1.0\" encoding=\"gb2312\"?>\n" + xmlConfigdoc.documentElement.xml;
		doSaveFile(XMLConfigFile.replace(/\\[^\\]+$/,""),XMLConfigFile.replace(/.*\\/,""),XMLContent.replace(/></g,'>\n<'),true,true);
		xmlFileChanged = false;
	}

  function mySelectNode(nodePath){
  	var nodePathArray = nodePath.split("/");
  	var lastPath = "/" + nodePathArray[1];
  	if (nodePathArray.length >= 2){
	  	for (var i = 2 ; i < nodePathArray.length ; i++){

	  		//如果没有定义就加入
	  		if (!xmlConfigdoc.documentElement.selectSingleNode(lastPath + "/" + nodePathArray[i])){
	  			xmlConfigdoc.documentElement.selectSingleNode(lastPath).appendChild(xmlConfigdoc.createElement(nodePathArray[i]));
	  			xmlFileChanged = true;
	  		}
	  		lastPath += "/" + nodePathArray[i];
	  	}
  	}
  	return xmlConfigdoc.documentElement.selectSingleNode(lastPath);
  }

	function jspElementDisplay(elementName){

		var enType = "";

		switch(typeof (elementName)){
      case 'string':enType = "string"; break;
      case 'object':enType = "object"; break;
      default:enType = false; break;
    }

    //alert(enType);

		var elementArray = new Array();

		elementArray[elementArray.length] = "queryField";
		elementArray[elementArray.length] = "listField";
		elementArray[elementArray.length] = "editField";
		elementArray[elementArray.length] = "viewField";
		elementArray[elementArray.length] = "saveJsp";
		elementArray[elementArray.length] = "jspSourceArea";
		elementArray[elementArray.length] = "queryFieldConfig";
		elementArray[elementArray.length] = "listFieldConfig";
		elementArray[elementArray.length] = "editFieldConfig";
		elementArray[elementArray.length] = "viewFieldConfig";
		elementArray[elementArray.length] = "jspConfigArea";
		elementArray[elementArray.length] = "fieldSelectArea";

	  for(var i=0;i < elementArray.length; i++){
	  	if (enType == "string"){
	  		//alert("is string:"+elementName);
		  	if (elementArray[i] == elementName){
		    	document.getElementById(elementArray[i]).style.display='';
		    }else{
		    	document.getElementById(elementArray[i]).style.display='none';
		    }
		  }
		  if (enType == "object"){
		  	document.getElementById(elementArray[i]).style.display='none';
		  	for(var j=0;j<elementName.length;j++){
		  		//alert("is object:["+j+"]="+elementName[j]);
		  		if(elementName[j] == elementArray[i]){
		  			document.getElementById(elementArray[i]).style.display='';
		  			break;
		  		}
		  	}
		  }
	  }
	}

	function generateJsp(){	//Button Call function  //生成字段选择多选框

	  //生成JSP要保存的路径
	  document.getElementById('globalJavaWebPathArea').innerHTML = generateCommonConfigElement("needGlobalJavaWebPath");

	  //由XML生成当前表内字段的信息
	  generateFieldDesc();

	  for (var i=0;i<jspTypeArray.length;i++){
	  	var jspTypeStr = jspTypeArray[i];

			var tempStr = "<table width=100% height=100% border=0 cellpadding=0 cellspacing=0>";
	    tempStr += "<tr height=20px><td>选择" + findJspTypeChs(jspTypeStr) + "的字段:</td></tr>";
	    tempStr += "<tr height=100%><td><span id=" + jspTypeStr + "FieldSelectArea>";
	    tempStr += generateFieldSelect(jspTypeStr) + "</span></td></tr></table>";


	    document.getElementById(jspTypeStr+"Field").innerHTML = tempStr ;
		}

		//Show element
	 	elementDisplay('generateJspSource');
	  document.getElementById("jspType").selectedIndex=0;
	  selectJspTypeChanged();
	}

	function findJspTypeChs(jspType){
		var jspTypeChs;
		switch(jspType){
			case 'query':jspTypeChs = "查询"; break;
			case 'list':jspTypeChs = "列表"; break;
			case 'edit':jspTypeChs = "编辑"; break;
			case 'view':jspTypeChs = "察看"; break;
			default:jspTypeChs = ""; break;
		}
		return jspTypeChs;
	}

  function findFieldIndex(fieldJavaNameStr){
  	var fieldIndex = 0;
		for(var i=0;i < fieldJavaName.length;i++){
			if(fieldJavaName[i]==fieldJavaNameStr){
				fieldIndex = i;
				break;
			}
		}
		return fieldIndex;
  }

//-->
</script>

<!--	//Generate JSP - Config using XML -->
<script>
<!--//
	function selectJspTypeChanged(){	//Call from JspType Select Changed

		//alert("Call selectJspTypeChanged");
		var select1 = document.getElementById("jspType");
		var jspTypeSelectedValue = select1.options[select1.selectedIndex].value;

    curJspTypes = jspTypeSelectedValue.replace(/[^a-zA-Z_]/g,"");

		if (curJspTypes == ""){jspElementDisplay("");return;}

		var jspTypeArray = jspTypeSelectedValue.split("_");


		for(var i=0;i<jspTypeArray.length;i++){
			var showLongPercent;

			if (jspTypeArray.length == 1){
				showLongPercent="100%";
			}else{
				showLongPercent=jspTypeArray[i].replace(/[^0-9.%]/g,"");
			}

			var jspType = jspTypeArray[i].replace(/[^a-zA-Z]/g,"");

			//由XML文件生成缺省的配置信息
			generateConfigArea(jspType);

      //设置列选择列表的高度比
      document.getElementById(jspType+"Field").style.height=showLongPercent;

			//定义全局变量当前的页面类型组合:curJspType
			//curJspTypes += "_"+jspType;
			//alert(curJspTypes);
		}

		//删除第一个"_"
		//alert('curJspTypes.replace(/^_/,"")='+curJspTypes.replace(/^_/,"")+" curJspTypes="+curJspTypes)
		//curJspTypes = curJspTypes.replace(/^_/,"");
    //alert(curJspTypes);
    //显示当前可操作区域
    showCurOperateArea();
	}

	function showCurOperateArea(){
		var curJspTypeArray = curJspTypes.split("_");
		var displayArray = new Array();

    if (curJspTypes == ""){jspElementDisplay("");return;}

    displayArray[displayArray.length] = "jspConfigArea";
    displayArray[displayArray.length] = "fieldSelectArea";

		for(var i=0;i<curJspTypeArray.length;i++){
			var jspType =	curJspTypeArray[i];
			displayArray[displayArray.length] = jspType+"Field";
			displayArray[displayArray.length] = jspType+"FieldConfig";
		}

    //显示displayArray的区域
    jspElementDisplay(displayArray);
	}

	function generateFieldSelect(jspType){	//Generate query,list,edit,view Fileds select

		var str = "<select id=" + jspType + "FieldSelect onchange=\'generateFieldConfig(\"" + jspType + "\");\'";
		str += " multiple=\"multiple\" style=\"width:100%;height:100%\">";

    for (var j=0; j<fieldNameChs.length; j++)
		{
      //如果已经定义则不在列表框中出现
      var testExist = false ;
      try{
      	if(xmlConfigdoc.selectSingleNode("/root/table/"+tableJavaName+"/" + jspType + "/column/" + fieldJavaName[j])){
      	testExist = true ;
      	}
      }catch(e){testExist = false ;}

      if(!testExist){
      	str += "<option value='" + fieldJavaName[j] + "'>"+fieldNameChs[j]+":"+fieldName[j]+"</option>";

⌨️ 快捷键说明

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