求救:后台java解析xml文件把数据显示在jsp页面,如何对循环表单修改和增加??? 后台java解析xml文件把数据显示在jsp页面,生成一表单,数据显示在input里面现在要求可以对循环表单修改和增加,来实现对原xml文件的修改?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 那我把代码贴出来吧!<1>在e:\sysconfig.xml<?xml version="1.0" encoding="GBK"?><sysconfig> <config key="starturl">1424524</config> <config key="dbconnectionfile">12120</config></sysconfig><2>有JudgeXml.jsp<%@ page language="java" pageEncoding="utf-8"%><%@ page import="java.io.*" %><% if(request.getMethod().toLowerCase().equals("post")){//提交状态下 String filename=request.getParameter("filename"); if(filename!="" && filename!=null){ File f=new File(filename); if(f.exists()){ System.out.println("文件已存在"); // response.sendRedirect("/test.jsp"); request.getRequestDispatcher("/test2.jsp").forward(request,response); } else{ //显示编写文件的块 System.out.println("文件不存在"); request.getRequestDispatcher("/CreatXml.jsp").forward(request,response); } } }%><html><head><title>系统部署配置文件参数</title></head> <form method="POST" action="JudgeXml.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">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> </body></html><3>后台xmlbean.javapackage jdom.test;/** * XML的读写操作Bean */import java.io.*;import java.util.*;import org.jdom.*;import org.jdom.output.*;import org.jdom.input.*;import javax.servlet.*;import javax.servlet.http.*;public class XmlBean { private String key,record; private Integer id; public Integer getId() { return id; } public String getKey() { return key; } public String getRecord() { return record; } public void setId(int id){ this.id=id; } public void setKey(String key) { this.key = key; } public void setRecord(String record) { this.record = record; } public XmlBean() { } /** * 读取XML文件所有信息 */ public Vector LoadXML(String path) throws Exception { Vector xmlVector = null; FileInputStream fi = null; try { fi = new FileInputStream(path); xmlVector = new Vector(); SAXBuilder sb = new SAXBuilder(); Document doc = sb.build(fi); Element root = doc.getRootElement(); // 得到根元素 List configs = root.getChildren(); // 得到根元素所有子元素的集合 XmlBean xml = null; for (int i = 0; i < configs.size(); i++) { System.out.println("---------------------------"); xml=new XmlBean(); // Element item=(Element)configs.get(i);//取得节点实例 Element config=(Element)configs.get(i); int id=i; xml.setId(id); System.out.println("id:"+id); // String key=item.getAttribute("key").getValue(); String key=config.getAttribute("key").getValue(); xml.setKey(key); // xml.setId(i); // System.out.println("id:"+id); System.out.println("key:"+key); // String record=item.getValue(); String record=config.getValue(); System.out.println("record:"+record); xml.setRecord(record); xmlVector.add(xml); } } catch (Exception e) { System.err.println(e + "error"); } finally { try { fi.close(); } catch (Exception e) { e.printStackTrace(); } } return xmlVector; } <4>在JudgeXml.jsp页面中输入e:\sysconfig.xml跳转到test2.jsp<5>test2.jsp<%@ page contentType="text/html;charset=utf-8"%><%@ page language="java" import="java.util.*,jdom.test.*"%><html><head><title>配置文件参数读取</title></head><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><br><br><form method="POST" action="xmlaction.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> <p align="center"> <input type="radio" value="add" checked name="act">添加资料<input type="radio" value="edit" name="act">编辑资料 </p><table width="80%" border="0" align="center" cellpadding="2" cellspacing="1" class="tableStyle01"> <!-- <p align="center"><input type="radio" value="add" checked name="act">添加资料<input type="radio" value="edit" name="act">编辑资料 --><% String path=request.getParameter("filename"); path=path.toString(); // String path = application.getRealPath("f://MyXml.xml"); XmlBean xml = new XmlBean(); Vector xmlall = xml.LoadXML(path); for (int i = 0; i < xmlall.size(); i++) { xml = (XmlBean) xmlall.elementAt(i); /**out.println("key:"+xml.getKey()+"<br>"); out.println("id:"+xml.getId()+"<br>"); out.println("record:"+xml.getRecord()+"<br><br>"); */ %><tr> <!--<td class="TDstyle01">第<%=xml.getId()+1%>条</td>--> <!-- <td id="KEY"+i class="TDstyle01"><%=xml.getKey() %></td> <td class="TDstyle01"><input id="v"+i type="text" class="input" name="record" value="<%=xml.getRecord()%>"/></td>--> <td class="TDstyle01"><%=xml.getKey() %></td> <td class="TDstyle01"><input id="record"&i type="text" class="input" name="record"&i value="<%=xml.getRecord()%>"/></td> <input type="hidden" class="input" name="id" value="4"/> <!-- <input type="hidden" name="ip" value="${xml.id}">--><!-- <td class="TDstyle01"><%=xml.getRecord() %></td>--> <!-- <td class="TDstyle01"><input type="text" class="input" name="record" value="<%=xml.getRecord()%>"/></td> <input type="hidden" class="input" name="ip" value="<%=i%> ">--></tr><%}%><!-- <tr><p align="center"><input type="radio" value="add" checked name="act">添加资料<input type="radio" value="edit" name="act">编辑资料 序 号:<select size="1" name="ip"> <%for (int i = 0; i < xmlall.size(); i++) {%> <option value="<%=i%>">第<%=i + 1%>条</option> <%}%></select><br> --><tr> <td class="TDstyle01"><input name="key" type="text" class="input" style="width:80%" ></td> <td class="TDstyle01"><input name="Record" type="text" class="input" style="width:80%" ></td></tr></p> <input type="hidden" name="path" value="<%=path%>"> <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>对循环表单的值就行修改或增加,来实现对xml文件的修改??<6>xmlaction.jsp... 可以用,也可以不用。 用JS不就是AJAX吗。 不用就直接表单提交就OK了撒。 对循环表单的数据进行批量修改.完成对原xml的更新 hibernate查询和直接在数据库运行sql的结果不一样 js如何让弹出模式窗口刷新iframe父窗体框架 javax.servlet.http.HttpServlet.service这是在哪个包里面啊 displaytag求和问题 谁能提供图片来源提取的函数 页面传值问题(在线等) 怎么会找不到类文件呢! 请教数据流安全问题 100分求解编码问题(http post) 当启动tomcat时,马上运行一个servlet,如何配置?急 JFreeChart中柱状图的图片大小怎么修改 求救!!!在密码框怎么显示提示文字啊?
<1>在e:\sysconfig.xml<?xml version="1.0" encoding="GBK"?>
<sysconfig>
<config key="starturl">1424524</config>
<config key="dbconnectionfile">12120</config>
</sysconfig><2>有JudgeXml.jsp
<%@ page language="java" pageEncoding="utf-8"%>
<%@ page import="java.io.*" %>
<%
if(request.getMethod().toLowerCase().equals("post")){//提交状态下
String filename=request.getParameter("filename");
if(filename!="" && filename!=null){
File f=new File(filename);
if(f.exists()){
System.out.println("文件已存在");
// response.sendRedirect("/test.jsp");
request.getRequestDispatcher("/test2.jsp").forward(request,response);
}
else{
//显示编写文件的块
System.out.println("文件不存在");
request.getRequestDispatcher("/CreatXml.jsp").forward(request,response);
}
}
}
%><html>
<head>
<title>系统部署配置文件参数</title>
</head>
<form method="POST" action="JudgeXml.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">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>
</body>
</html><3>后台xmlbean.java
package jdom.test;/**
* XML的读写操作Bean
*/
import java.io.*;
import java.util.*;
import org.jdom.*;
import org.jdom.output.*;
import org.jdom.input.*;
import javax.servlet.*;
import javax.servlet.http.*;public class XmlBean {
private String key,record;
private Integer id;
public Integer getId() {
return id;
}
public String getKey() {
return key;
} public String getRecord() {
return record;
} public void setId(int id){
this.id=id;
}
public void setKey(String key) {
this.key = key;
} public void setRecord(String record) {
this.record = record;
} public XmlBean() {
} /**
* 读取XML文件所有信息
*/
public Vector LoadXML(String path) throws Exception {
Vector xmlVector = null;
FileInputStream fi = null;
try {
fi = new FileInputStream(path);
xmlVector = new Vector();
SAXBuilder sb = new SAXBuilder();
Document doc = sb.build(fi);
Element root = doc.getRootElement(); // 得到根元素
List configs = root.getChildren(); // 得到根元素所有子元素的集合
XmlBean xml = null;
for (int i = 0; i < configs.size(); i++) {
System.out.println("---------------------------");
xml=new XmlBean();
// Element item=(Element)configs.get(i);//取得节点实例
Element config=(Element)configs.get(i);
int id=i;
xml.setId(id);
System.out.println("id:"+id);
// String key=item.getAttribute("key").getValue();
String key=config.getAttribute("key").getValue();
xml.setKey(key);
// xml.setId(i);
// System.out.println("id:"+id);
System.out.println("key:"+key);
// String record=item.getValue();
String record=config.getValue();
System.out.println("record:"+record);
xml.setRecord(record);
xmlVector.add(xml);
}
} catch (Exception e) {
System.err.println(e + "error");
} finally {
try {
fi.close();
} catch (Exception e) {
e.printStackTrace();
}
}
return xmlVector;
}
<4>在JudgeXml.jsp页面中输入e:\sysconfig.xml跳转到test2.jsp
<5>test2.jsp<%@ page contentType="text/html;charset=utf-8"%>
<%@ page language="java" import="java.util.*,jdom.test.*"%>
<html>
<head>
<title>配置文件参数读取</title>
</head>
<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>
<br><br>
<form method="POST" action="xmlaction.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>
<p align="center"> <input type="radio" value="add" checked name="act">添加资料
<input type="radio" value="edit" name="act">编辑资料 </p>
<table width="80%" border="0" align="center" cellpadding="2" cellspacing="1" class="tableStyle01">
<!-- <p align="center"><input type="radio" value="add" checked name="act">添加资料
<input type="radio" value="edit" name="act">编辑资料
-->
<%
String path=request.getParameter("filename");
path=path.toString();
// String path = application.getRealPath("f://MyXml.xml");
XmlBean xml = new XmlBean();
Vector xmlall = xml.LoadXML(path);
for (int i = 0; i < xmlall.size(); i++) {
xml = (XmlBean) xmlall.elementAt(i);
/**out.println("key:"+xml.getKey()+"<br>");
out.println("id:"+xml.getId()+"<br>");
out.println("record:"+xml.getRecord()+"<br><br>");
*/
%>
<tr>
<!--<td class="TDstyle01">第<%=xml.getId()+1%>条</td>-->
<!-- <td id="KEY"+i class="TDstyle01"><%=xml.getKey() %></td>
<td class="TDstyle01"><input id="v"+i type="text" class="input" name="record" value="<%=xml.getRecord()%>"/></td>-->
<td class="TDstyle01"><%=xml.getKey() %></td>
<td class="TDstyle01"><input id="record"&i type="text" class="input" name="record"&i value="<%=xml.getRecord()%>"/></td>
<input type="hidden" class="input" name="id" value="4"/>
<!-- <input type="hidden" name="ip" value="${xml.id}">-->
<!-- <td class="TDstyle01"><%=xml.getRecord() %></td>-->
<!-- <td class="TDstyle01"><input type="text" class="input" name="record" value="<%=xml.getRecord()%>"/></td>
<input type="hidden" class="input" name="ip" value="<%=i%> ">-->
</tr><%}%><!--
<tr>
<p align="center"><input type="radio" value="add" checked name="act">添加资料
<input type="radio" value="edit" name="act">编辑资料 序 号:<select size="1"
name="ip">
<%for (int i = 0; i < xmlall.size(); i++) {%>
<option value="<%=i%>">第<%=i + 1%>条</option>
<%}%>
</select><br>
-->
<tr>
<td class="TDstyle01"><input name="key" type="text" class="input" style="width:80%" ></td>
<td class="TDstyle01"><input name="Record" type="text" class="input" style="width:80%" ></td>
</tr>
</p> <input type="hidden" name="path" value="<%=path%>">
<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>对循环表单的值就行修改或增加,来实现对xml文件的修改??<6>xmlaction.jsp
...
用JS不就是AJAX吗。
不用就直接表单提交就OK了撒。