处理JSP中拼装数据为XML出现的问题
发布时间:2023-07-18 14:15:53 所属栏目:教程 来源:
导读:一、应用背景
JSP取得Servlet中放入request的List,将List中的数据拼装成XML。以下代码在Eclipse的内置浏览器中显示为xml,没有问题。
[java]
/**
* 新闻Servlet
* @author 徐越
*
*/
JSP取得Servlet中放入request的List,将List中的数据拼装成XML。以下代码在Eclipse的内置浏览器中显示为xml,没有问题。
[java]
/**
* 新闻Servlet
* @author 徐越
*
*/
一、应用背景 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同时放在第一行即可,一个接一个的后面。虽然不好看,但是解决问题哦 (编辑:聊城站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐