【发布时间】:2010-12-15 15:20:07
【问题描述】:
对于我的一个项目,我需要使用 JSF 2.0 在 Web 浏览器上显示 MS Word 文档。 Web 应用程序包含标题、内容等。 MS word 文档应在内容部分动态显示(使用 AJAX)。支持 bean 读取 ms word 文档。我可以使用 JSF 作为独立应用程序在浏览器上显示 MS Word 文档。但是如果从另一个 JSF 文件中调用它,这将不起作用。有人可以对这个问题有所了解吗?
JSF 独立应用程序 DiaplayDoc.xhtml。这将在浏览器上显示 MS 文档。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core">
<f:event type="preRenderView" listener="#{DisplayDoc.downloadDoc}"/>
</html>
我需要从另一个包含其他 jsf 组件的 jsf 文件中调用此页面。将执行页眉部分,但不会执行页脚部分。 (当页脚设置为显示 pdf 插件或图像时,这可以正常工作。)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
>
<h:body>
<h:form id="form1">
<div id="header">
Hello World
</div>
<div id="footer">
<object data="<Project>/DisplayDoc.jsf" type="application/msword" width="100%" height="100%">
</object>
</div>
</h:form>
</h:body>
</html>
bean部分包含
response.reset();
response.setHeader("Content-Type", "application/msword");
response.setHeader("Content-Length", String.valueOf(fFile.length()));
response.setHeader("Content-Disposition", "inline; filename=\"" + strFilepath + "\"");
【问题讨论】:
-
要格式化代码,将代码缩进 4 个空格。您可以通过在编辑器中选择代码部分然后按工具栏中的
010101按钮或Ctrl+K键来自动执行此操作。另请参阅消息编辑器中右侧列中的格式规则。我已经为你做了。
标签: jsf