解决JSP中拼装数据为XML出现的问题

 一、应用背景

JSP取得Servlet中放入request的List,将List中的数据拼装成XML。以下代码在Eclipse的内置浏览器中显示为xml,没有问题。

[java]
/**
* 新闻Servlet
* @author 徐越
*
*/
public class ListServlet extends HttpServlet
{
private static final long serialVersionUID = 1L;
private VideoNewsService vs = new VideoNewsServiceImpl();

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
doPost(request, response);
}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
List<VideoNews> news = vs.readNews();
request.setAttribute("lstnews", news);
request.getRequestDispatcher("/WEB-INF/pages/news.jsp").forward(request, response);
}
}

/**
* 新闻Servlet
* @author 徐越
*
*/
public class ListServlet extends HttpServlet
{
private static final long serialVersionUID = 1L;
private VideoNewsService vs = new VideoNewsServiceImpl();

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
doPost(request, response);
}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
List<VideoNews> news = vs.readNews();
request.setAttribute("lstnews", news);
request.getRequestDispatcher("/WEB-INF/pages/news.jsp").forward(request, response);
}
}
[html]
<%@ page language="java" contentType="text/xml; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<?xml version="1.0" encoding="UTF-8"?>
<videoNews>
<c:forEach items="${lstnews}" var="n">
<news id="${n.id }">
<title>${n.title }</title>
<length>${n.timeLength }</length>
</news>
</c:forEach>
</videoNews>

<%@ page language="java" contentType="text/xml; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<?xml version="1.0" encoding="UTF-8"?>
<videoNews>
<c:forEach items="${lstnews}" var="n">
<news id="${n.id }">
<title>${n.title }</title>
<length>${n.timeLength }</length>
</news>
</c:forEach>
</videoNews>

 

二、发现问题

火狐中报错:XML解析错误:XML 或文本声明不在实体的开头

chrome报错:XML declaration allowed only at the start of the document

根据错误信息,可以知道XML声明<?xml version="1.0" encoding="UTF-8"?>必须在文档的开头。

三、解决问题

将page、taglib、xml同时放在第一行即可,一个接一个的后面。虽然不好看,但是解决问题哦

时间: 2024-08-04 07:39:19

解决JSP中拼装数据为XML出现的问题的相关文章

JSP中拼装数据为XML出现的问题

一.应用背景 JSP取得Servlet中放入request的List,将List中的数据拼装成XML.以下代码在Eclipse的内置浏览器中显示为xml,没有问题. /** * 新闻Servlet * @author 徐越 * */ public class ListServlet extends HttpServlet { private static final long serialVersionUID = 1L; private VideoNewsService vs = new Vid

解决JSP中rs.getString()的换行问题

js|解决|问题 最近用JSP做新闻发布时发现,用rs.getString()获得的字符串里面空格和换行都表现不出来, 先分析原因,我用的是Mysql数据库,新闻内容采用的是Text类型,查看数据库中上传的新闻发现里面换行和空格都能表现出来,这就说明,肯定是用Rs.getstring时显示的问题,先查看了Java.sql.*的Api想用别的Get方法,试了几个结果都不行, 网上也有这样类似的问题,但大多是在Servlet里面或者Bean里面专门的做一个函数解决的,我觉得这样做很复杂 最后终于找到

解决JSP中rs.getString ()的换行问题及当一行中文过长时撑开表格的问题

js|解决|问题|中文 最近用JSP做新闻发布时发现,用rs.getString()获得的字符串里面空格和换行都表现不出来, 先分析原因,我用的是Mysql数据库,新闻内容采用的是Text类型,查看数据库中上传的新闻发现里面换行和空格都能表现出来,这就说明,肯定是用Rs.getstring时显示的问题,先查看了Java.sql.*的Api想用别的Get方法,试了几个结果都不行, 网上也有这样类似的问题,但大多是在Servlet里面或者Bean里面专门的做一个函数解决的,我觉得这样做很复杂 最后终

如何将大量数据拼装成静态页

问题描述 如何将大量数据拼装成静态页 我们公司有一个同事生成一个地址选择的静态页,但是数据表里有742717行数据.请教下各位有什么方法解决. 解决方案 可以用ajax动态加载.将地址分类下,先加载大类,依据选择的大类再加载对应的小类 就如省市县的加载一样..先加载省,依据选择的值加载下级节点.同时设置cache缓存下ajax加载的数据,加载过的就不需要重新加载了 解决方案二: 产生这样的页很简单,无非就是读取数据挨个写到文本文件中,你想写多少就写多少,磁盘写完拉倒 但是这样的页能不能被浏览器加

jsp实现将信息放入xml中的方法_JSP编程

本文实例讲述了jsp实现将信息放入xml中的方法.分享给大家供大家参考,具体如下: 一.jsp代码: 省: <select id="province" name="province" onchange="jsSubmit()"> <option value="北京" selected="selected">北京</option> <option value=&quo

JSP中早就有了类似.Net DataSet那样的离线数据访问

js|访问|数据 JSP中早就有了类似.Net DataSet那样的离线数据访问了,抛弃ResultSet,拥抱Result吧! 微软的.NET平台上面的数据访问有一个特点,就是数据查询的结果,可以放在内存中,以XML格式进行描述,不需要一直与数据库保持在线连接,用DataSet + Data Adapter来实现! 而在JDBC中,我们通常使用javax.sql.ResultSet类来存放放回的数据,它的流程和生命周期如下: 使用ResultSet来返回数据库查询结果 Client --> C

修改MYSQL数据库,数据表,字段的编码(解决JSP乱码)

js|mysql|编码|解决|数据|数据库 要解决JSP乱码,首先就要了解JSP乱码的原因 1.架设服务器安装MYSQL时的会让你选择一种编码,如果这种编码与你的网页不一致,可能就会造成JSP页面乱码2.在PHPMYADMIN或mysql-front等系统 创建数据库时会让你选择一种编码,如果这种编码与你的网页不一致,也有可能造成JSP页面乱码3.创建表时会让你选择一种编码,如果这种编码与你的网页编码不一致,也可能造成JSP页面乱码4.创建表时添加字段是可以选择编码的,如果这种编码与你的网页编码

解决jsp开发中不支持EL问题

今天遇到了一个莫名其妙的问题,就是在使用MyEclipse5.5或6.0时遇上了解析不到EL表达式的问题.经过好几个小时的琢磨终于发现了,给大家share一下: 问题就出在建Web Project的时候web.xml声明上. web.xml声明部分一般分为如下版本的xsd, web-app_2_2.dtdweb-app_2_3.dtd web-app_2_4.xsd web-app_2_5.xsd 更详细的列出各版本web.xml声明部分吧,如下: web-app_2_2.dtd <?xml v

java中连接sql server2000 读取数据,在jsp中输出,超过1000条就出错

问题描述 后台java连接sqlserver2000取出数据超过大概4000多条记录,写入list在前台jsp中输出,到900多条的时候就出错了请教各位大虾如何解决?sqlserver2000的连接超时已经设置为0无限制.java.sql.SQLException:[Microsoft][SQLServer2000DriverforJDBC]Errorestablishingsocket.atcom.microsoft.jdbc.base.BaseExceptions.createExcepti