如何通过修改JSP界面的输入值来修改后台对应的XML文件参数

如图,通过界面操作修改参数来实现修改后台XML文件相应的<param name="TimeOut" value="5" />语句中的数值 请问应该如何编写代码 有明白的大哥大姐请赐教 多谢咯~~~~~~~

这个jsp的参数你会获得到后台吧,用resuqst.getparameter("参数名")就可以。
至于怎么把参数值修改到XML文件里,那么你需要依赖第三方API,推荐一个dom4j, 下载dom4j.jar,然后去学一下dom4j操作xml文件的教程/文章,这套api写的很漂亮,一两个小时就能学会。追问

小弟新手不是很理解 方便的话可否提供下代码呢

追答

你应该先把你要改的那个xml里面原内容粘来,不然不可能有人写出适用的代码,你先贴出来吧,别人看到也好写一点,我有空时候也可以看看

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-11-15
用到的jar包:dom4j-1.6.1.jar、jaxen-1.1-beta-7.jar

①将jsp页面的值传至后台
②将值运用到xml修改中
③dom4j读取修改xml文件的方法
import java.io.File;
import java.io.FileWriter;
import java.util.List;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLResult;
import org.dom4j.io.XMLWriter;

public class UpdateDom4j {

public static Document readXml() {
Document doc = null;
SAXReader saxReader = new SAXReader();
try {
doc = saxReader.read(new File("c:/catalog-modified.xml"));
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return doc;
}

public static void update1Xml(Document doc) {

List<Element> list = doc.selectNodes("/setting/person"); //查询指定标签,返回该标签的list
/*
* 解析list
* */
if(!list.isEmpty()) {
for(Element element : list) {
//获取指定标签属性的值
//解析标签间的text内容
System.out.println(element.elementText("name"));
if("language".equals(element.elementText("name"))) {
Element e1 = element.element("value");
e1.setText("zh");
}
System.out.println(element.elementText("value"));
}
}

try {
XMLWriter output = new XMLWriter(new FileWriter(
new File("c:/catalog-modified.xml"))); //file换成你自己的xml文件
output.write(doc);
output.close();
} catch (Exception e) {
// TODO: handle exception
}

}

public static void main(String[] args) {
update1Xml(readXml());

}

}

catalog-modified.xml文件内容
<?xml version="1.0" encoding="UTF-8"?>
<setting><person><name>language</name><value>zh</value></person><person><name>sns</name><value>open</value></person></setting>追问

能别复制别人的东西不

追答

别人已经答的了,你还问》》》》》》。。。。。。。。。。。。。。。。。。。。。。。。

第2个回答  2011-11-15
你可以将value的值用一个变量来代替 例如a value=<%=a %> 然后你根据前台向后台传递输入数据 后台将值赋给a String a=request.getParameter("传递的参数");追问

小弟新手不是很理解 方便的话可否提供下代码呢

大家正在搜