现有1.jsp
<form method="POST" action="2.jsp">
<table width="80%" border="0" align="center" cellpadding="2" cellspacing="1" class="tableStyle01">
<tr>
<td align="right" class="TDstyle01">filename: </td>
<td class="TDstyle01"><input name="filename" type="text" class="input" ></td>
</tr>
<tr align="center">
<td height="35" colspan="2" class="TDstyle03"> <input name="submit" type="submit" class="button" value=" 保存 " >
<input name="submit" type="button" class="button" value=" 返回 " onClick="window.history.back(-1)">
</td>
</tr>
</table>
</form>
输入服务器端的xml文件名后提交到2.jsp进行解析
<script language="javascript">
function readXML(){
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
var filename="<%=request.getParameter("filename")%>";
var file=filename.toString();
...
xmlDoc.load("文件路径");
...
</script>
在js中怎样获取获取文件路径并进行转换,加载为正确的路径呢?
<form method="POST" action="2.jsp">
<table width="80%" border="0" align="center" cellpadding="2" cellspacing="1" class="tableStyle01">
<tr>
<td align="right" class="TDstyle01">filename: </td>
<td class="TDstyle01"><input name="filename" type="text" class="input" ></td>
</tr>
<tr align="center">
<td height="35" colspan="2" class="TDstyle03"> <input name="submit" type="submit" class="button" value=" 保存 " >
<input name="submit" type="button" class="button" value=" 返回 " onClick="window.history.back(-1)">
</td>
</tr>
</table>
</form>
输入服务器端的xml文件名后提交到2.jsp进行解析
<script language="javascript">
function readXML(){
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
var filename="<%=request.getParameter("filename")%>";
var file=filename.toString();
...
xmlDoc.load("文件路径");
...
</script>
在js中怎样获取获取文件路径并进行转换,加载为正确的路径呢?
通过1.jsp输入的文件名传递到2.jsp中
js会认为 f:/a.xml 是客户端的路径,为了测试,你可以将客户端机器F盘放上这个文件试试.
另外,你可以考虑用Ajax方法返回服务器端虚拟目录中的XML文件,返回的就是xmlDoc
传递参数?1.jsp?xx=xx
要把文件夹传到客户端,或用流.
js会认为 f:/a.xml 是客户端的路径,为了测试,你可以将客户端机器F盘放上这个文件试试.
另外,你可以考虑用Ajax方法返回服务器端虚拟目录中的XML文件,返回的就是xmlDoc3楼的可行
var ajax = new FWK.Util.Ajax("../list.xml","Post","","async");
ajax.$success() {
var xmlDom = ajax.responseXML;
var test = xmlDom.selectNodes("//test");
......
}
ajax.$fail() {
alert("Err")
}
ajax.open();
<1>1.jsp<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ page import="java.io.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>ajax</title>
</head>
<SCRIPT LANGUAGE="JavaScript">
var xmlhttp;
// var filename="<%=request.getParameter("filename")%>";
// var file=filename.toString();
function createxmlhttprequest(){
if(window.ActiveXObject){
xmlhttp=new ActiveXObject("Microsoft.XMLHttp");
}
else if (window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
}
}
function startrequest(){
createxmlhttprequest();
xmlhttp.onreadystatechange=runxmlhttp;
// xmlhttp.open("get","f:/index.xml");
xmlhttp.open("get","index.xml"); xmlhttp.send();
}
function runxmlhttp() {
if (xmlhttp.readystate==1){
picshow.innerText="已打开!";
}
if (xmlhttp.readystate==2){
picshow.innerText="正在读取!";
}
if (xmlhttp.readystate==3){
picshow.innerText="正在返回!";
}
if (xmlhttp.readystate==4){
if(xmlhttp.status==200||xmlhttp.status==0){
picshow.innerText=xmlhttp.responseText;
showarea("haiding");
}
}
}
function showarea(areastr)
{var xmlhttptext=xmlhttp.responseXML;
var xmlnode,xmlstr;
if (areastr==null||areastr=="")
{ //找出所有标签名为area的节点
xmlnode=xmlhttptext.getElementsByTagName("area");
xmlstr="所有地区";
for (var i=0;i<xmlnode.length;i++)
{
xmlstr=xmlstr+"\n"+xmlnode[i].childNodes[0].nodeValue;
}
picshow.innerText=xmlstr;
}
else
{//找出所有标签名为areastr的子节点中标签名为"area"的节点
xmlnode=xmlhttptext.getElementsByTagName(areastr)[0];
var xmlnode1=xmlnode.getElementsByTagName("area");
xmlstr=areastr;
for(var i=0;i<xmlnode1.length;i++)
{
xmlstr=xmlstr+"\n"+xmlnode1[i].childNodes[0].nodeValue;
}
picshow.innerText=xmlstr;
}
}
</SCRIPT>
<body onLoad="startrequest();">
<div id="picshow"></div>
</body>
</html><2> index.xml<?xml version="1.0" encoding="UTF-8"?>
<china>
<beijing>
<haiding>
<area>海淀</area>
</haiding>
<xuanwu>
<area>宣武</area>
<area>宣武1</area>
</xuanwu>
</beijing>
<guangxi>
<nanning>
<area>南宁</area>
</nanning>
<hezhou>
<area>富川</area>
<area>八步</area>
</hezhou>
</guangxi>
<shanxi>
<xian>
<area>西安</area>
</xian>
<guanzhong>
<area>关中</area>
<area>关南</area>
</guanzhong>
</shanxi>
</china>
js 尝试也不行
<1> 2.jsp
<%@ page language="java" contentType="text/html; charset=utf-8" %>
<%@ page import="java.io.*" %>
<html>
<title>系统部署配置文件参数修改</title>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script language="javascript">
function readXML(){
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
var filename="<%=request.getParameter("filename")%>";
var file=filename.toString();
// document.write("<br>文件路径:"+file);
// xmlDoc.load("sysconfig.xml");
// xmlDoc.load(file);
xmlDoc.load("f:/sysconfig.xml");
var code=xmlDoc.getElementsByTagName("config");
for(var i=0;i<code.length;i++){
var nodename = code[i].getAttribute("key");
var nodevalue = code[i].firstChild.nodeValue;
if(nodename == "starturl"){
document.getElementById("record1").value=nodevalue;
}else if(nodename == "mmfiledir"){
document.getElementById("record2").value=nodevalue;
}else if(nodename == "wincfgdir"){
document.getElementById("record3").value=nodevalue;
}
}
} </script>
<style type="text/css">
.tableStyle01 {
background-color: #ABDDEE;
border: 1px solid #4692AE;
}
.TDstyle01 {
font-size: 15px;
color: #000000;
background-color: #F6FCFD;
line-height: 22px;
}
.TDstyle02 {
font-size: 12px;
line-height: 22px;
color: #000000;
background-color: #E2F4F9;
height: 24px;
}
.TDstyle03 {
font-size: 12px;
color: #000000;
background-color: #EDF7F9;
line-height: 22px;
}
.T2 {
font-size: 12px;
font-weight: bold;
color: #004C65;
}</style>
<body onload="readXML();" bgcolor="#F6FAFD" leftmargin="6" topmargin="2" marginwidth="0" marginheight="0">
<form method="POST" action="WriteXml.jsp">
<table width="100%" border="0" cellspacing="0" cellpadding="2">
<tr>
<td height="23" nowrap bgcolor="D6E5EF"><span class="T2">系统部署管理>>系统配置文件修改填写</span></td>
</tr>
</table>
<br>
<br>
<table width="80%" border="0" align="center" cellpadding="2" cellspacing="1" class="tableStyle01">
<tr>
<td align="right" class="TDstyle01">fileurl: </td>
<td class="TDstyle01"><input name="fileurl" type="text" class="input" ></td>
</tr>
<tr>
<td align="right" class="TDstyle01">starturl: </td>
<td class="TDstyle01"><input name="starturl" type="text" class="input" id="record1"></td>
</tr>
<tr>
<td align="right" class="TDstyle01">mmfiledir:</td>
<td class="TDstyle01"><input name="mmfiledir" type="text" class="input" style="width:80%" id="record2"></td>
</tr>
<tr align="center">
<td height="35" colspan="2" class="TDstyle03"> <input name="submit" type="submit" class="button" value=" 保存 " >
<input name="submit" type="button" class="button" value=" 返回 " onClick="window.history.back(-1)">
</td>
</tr>
</table>
</form>
</body>
</html>
<2> sysconfig.xml
<?xml version="1.0" encoding="GBK" ?>
<sysconfig>
<config key="starturl">sa</config>
<config key="mmfiledir" >34</config>
<config key="wincfgdir" >43</config>
</sysconfig>