xml - JSF 2 - 如何在 HTML 输出中保留 XML 实体定义?

标签 xml jsf entity facelets doctype

我正在开发一个 JSF 2 网络应用程序。如果我定义一个如下开头的小面:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.2//EN"
"http://www.openmobilealliance.org/tech/DTD/xhtml-mobile12.dtd"[
    <!ENTITY nbsp "&#160;"> 
    <!ENTITY pound "&#163;"> 
]>
<html 
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:fn="http://java.sun.com/jsp/jstl/functions"
    xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<h:head>

当呈现为 HTML 时,实体定义已被删除。如果我真的希望它们包含在输出标记中,有没有办法保留它们?

最佳答案

我不知道您是否也可以编写一个新的渲染器,但我在响应 XML 结果时遇到了类似的问题。

在我的例子中,我获取了 Backing Bean 中的 HttpOutputStream 并编写了 XML。也许如果您跳过我示例中的关闭和 ctx.responseComplete(),JSF 通常会在流中写入他的响应。

FacesContext ctx = FacesContext.getCurrentInstance();

final HttpServletResponse resp = (HttpServletResponse)ctx.getExternalContext().getResponse();
resp.getOutputStream().write(xml.getBytes());
resp.getOutputStream().flush();
resp.getOutputStream().close();

ctx.responseComplete();

关于xml - JSF 2 - 如何在 HTML 输出中保留 XML 实体定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5785103/

相关文章:

PHP从mysql数据库输出数据到XML文件

android - float 操作按钮未在 Android 中显示图像?

python - 使用带有 xpath 的 lxml findall() 查找多种类型的标签?

java - 如何修复 Hibernate "object references an unsaved transient instance - save the transient instance before flushing"错误

objective-c - 添加带有核心数据的关系对象时出现 "property cannot be found in forward class object"错误

xml - 我如何在 PowerShell 中使用 XmlReader 来传输大/巨大的 XML 文件?

java - JSF 不解析 #{} 标签

java - 在 webapp 中显示控制台输出

java.lang.ClassCastException : org. primefaces.model.DefaultUploadedFile 无法转换为 java.io.File

java - 又是: How to solve 'Repeated column in mapping for collection' ?