xml的格式显示到前台 怎么把jdbc从数据库里取出来的数据,以xml的格式显示到前台,不是生成xml,是以xml的格式显示到前台,给点思路或者代码,参考谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 个人觉得你可以先生成一个XML文件,然后直接在页面中加载这个文件。XML文件是可以直接在浏览器窗口中显示的吧~~ 我同意三楼的建议,写成xml文件,页面只去读取文件,而不用再访问数据库,在对应数据发生变化的时候重写xml文件,保证文件的数据更新,既提高了用户的访问速度,又减少了数据库的访问次数 public static void BuildUserXml(User user, JspWriter out) { ArrayList<Users> list = null; String sql = ""; try { sql = "select * from users order by id"; list=getUserList(sql); if (list != null) { User user = null; out.println("<XML id=\"unitList\">"); out.println("<?xml version=\"1.0\" encoding=\"GBK\"?>"); out.println("<root>"); for (int i = 0; i < list.size(); ++i) { user = (user)list.get(i); out.println("<user>"); out.println("<id>" + user.getId() + "</id>"); out.println("<name>" + user.getBmmc() + "</name>"); out.println("</user>"); } out.println("</root>"); out.println("</XML>"); } } catch (Exception ex) { ex.printStackTrace(); } }这是类的一个static方法,在前面页面直接引入这类,直接调用这个方法 如果是异步获取数据的话,就在后台组装成xml的格式,然后获得输出流(response.getWriter())将组装后的数据写到页面中;如果不是异步获取数据,就写成字符串,或者你尝试将内容放到集合中,然后在页面上遍历集合,不过,我并没有这样用过,你可以尝试一下。例如:List<String> list = new ArrayList<String>();list.add("<tag1>");list.add(data1);list.add("</tag1>");... public static void BuildUserXml(User user, JspWriter out) { ArrayList<Users> list = null; String sql = ""; try { sql = "select * from users order by id"; list=getUserList(sql); if (list != null) { User user = null; out.println("<XML id=\"unitList\">"); out.println("<?xml version=\"1.0\" encoding=\"GBK\"?>"); out.println("<root>"); for (int i = 0; i < list.size(); ++i) { user = (user)list.get(i); out.println("<user>"); out.println("<id>" + user.getId() + "</id>"); out.println("<name>" + user.getBmmc() + "</name>"); out.println("</user>"); } out.println("</root>"); out.println("</XML>"); } } catch (Exception ex) { ex.printStackTrace(); } }这是类的一个static方法,在前面页面直接引入这类,直接调用这个方法 查询出对象,然后用xstream把对象转xml,再response出去。 public List getUserList(String sql) { List <User>list = new ArrayList<User>(); try { conn = this.getConn(); pstmt = conn.prepareStatement(sql); rs = pstmt.executeQuery(); while (rs.next()) { User user= new user(); user.setID(rs.getInt("id")); user.setName(rs.getString("name")); list.add(user); } } catch (Exception e) { e.printStackTrace(); } finally { this.closeAll(conn, pstmt, rs);//关闭连接,根据你的方法定 } return list; } public List getUserList(String sql) { List <User>list = new ArrayList<User>(); try { conn = this.getConn(); pstmt = conn.prepareStatement(sql); rs = pstmt.executeQuery(); while (rs.next()) { User user= new user(); user.setID(rs.getInt("id")); user.setName(rs.getString("name")); list.add(user); } } catch (Exception e) { e.printStackTrace(); } finally { this.closeAll(conn, pstmt, rs);//关闭连接,根据你的方法定 } return list; } public List getUserList(String sql) { List <User>list = new ArrayList<User>(); try { conn = this.getConn(); pstmt = conn.prepareStatement(sql); rs = pstmt.executeQuery(); while (rs.next()) { User user= new user(); user.setID(rs.getInt("id")); user.setName(rs.getString("name")); list.add(user); } } catch (Exception e) { e.printStackTrace(); } finally { this.closeAll(conn, pstmt, rs);//关闭连接,根据你的方法定 } return list; } js问题,急求大神解决 Jsp的Web开发有类似Asp中母版页的组件吗? JSP连接数据库 关于MyEclipse 初级的配置 和导库文件问题 jsp中如何浏览project文件 在struts框中的分页传参问题 jsp的一个问题,好奇怪! 求助!!!我做的可以拖动的div,但是拖动之后速度很慢 怎么有异常也不显示? 在一个BEAN里调用另一个BEAN问题??? 支持邮件和短信的消息通知引擎的设计与实现 用于显示数据列表的组件有哪些
public static void BuildUserXml(User user, JspWriter out)
{
ArrayList<Users> list = null;
String sql = "";
try
{
sql = "select * from users order by id";
list=getUserList(sql);
if (list != null) {
User user = null;
out.println("<XML id=\"unitList\">");
out.println("<?xml version=\"1.0\" encoding=\"GBK\"?>");
out.println("<root>");
for (int i = 0; i < list.size(); ++i) {
user = (user)list.get(i);
out.println("<user>");
out.println("<id>" + user.getId() + "</id>");
out.println("<name>" + user.getBmmc() + "</name>");
out.println("</user>");
}
out.println("</root>");
out.println("</XML>");
}
} catch (Exception ex) {
ex.printStackTrace();
}
}这是类的一个static方法,在前面页面直接引入这类,直接调用这个方法
如果不是异步获取数据,就写成字符串,或者你尝试将内容放到集合中,然后在页面上遍历集合,不过,我并没有这样用过,你可以尝试一下。例如:
List<String> list = new ArrayList<String>();
list.add("<tag1>");
list.add(data1);
list.add("</tag1>");
...
public static void BuildUserXml(User user, JspWriter out)
{
ArrayList<Users> list = null;
String sql = "";
try
{
sql = "select * from users order by id";
list=getUserList(sql);
if (list != null) {
User user = null;
out.println("<XML id=\"unitList\">");
out.println("<?xml version=\"1.0\" encoding=\"GBK\"?>");
out.println("<root>");
for (int i = 0; i < list.size(); ++i) {
user = (user)list.get(i);
out.println("<user>");
out.println("<id>" + user.getId() + "</id>");
out.println("<name>" + user.getBmmc() + "</name>");
out.println("</user>");
}
out.println("</root>");
out.println("</XML>");
}
} catch (Exception ex) {
ex.printStackTrace();
}
}这是类的一个static方法,在前面页面直接引入这类,直接调用这个方法
public List getUserList(String sql) {
List <User>list = new ArrayList<User>();
try {
conn = this.getConn();
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
while (rs.next()) {
User user= new user();
user.setID(rs.getInt("id"));
user.setName(rs.getString("name"));
list.add(user);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
this.closeAll(conn, pstmt, rs);//关闭连接,根据你的方法定 }
return list;
}
public List getUserList(String sql) {
List <User>list = new ArrayList<User>();
try {
conn = this.getConn();
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
while (rs.next()) {
User user= new user();
user.setID(rs.getInt("id"));
user.setName(rs.getString("name"));
list.add(user);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
this.closeAll(conn, pstmt, rs);//关闭连接,根据你的方法定 }
return list;
}
public List getUserList(String sql) {
List <User>list = new ArrayList<User>();
try {
conn = this.getConn();
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
while (rs.next()) {
User user= new user();
user.setID(rs.getInt("id"));
user.setName(rs.getString("name"));
list.add(user);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
this.closeAll(conn, pstmt, rs);//关闭连接,根据你的方法定 }
return list;
}