【发布时间】:2013-10-01 22:34:17
【问题描述】:
我想在我的网站上的 iframe 中显示 .doc 和 .docx 文件。
<iframe style="border-style: none;" src="http://docs.google.com/viewer?embedded=true&url=<s:url action="loadFile"><s:param name="id" value="id"/></s:url>" height="500" width="100%">
loadFile 动作发送一个流类型的结果
<action name="loadFile" class="com.view.file" method="loadFile">
<result name="success" type="stream">
<param name="contentType">${fileType}</param>
<param name="inputName">inputStream</param>
<param name="contentDisposition">inline;filename="${fileName}"</param>
<param name="bufferSize">1024</param>
</result>
</action>
当我直接在 src 属性中设置操作 url 时,iframe 起作用。然而,src="http://docs.google.com/viewer?embedded=true&url= 永远不会调用该操作。
还有其他方法可以显示 MS Word 文件吗?我可以通过将操作 url 直接放在 src 属性中来显示 pdf。
谢谢
编辑
问题可能是因为 iframe 的 src 转换为:
src="http://docs.google.com/viewer?embedded=true&url=/App/loadFile?id=25"
所需的 url 应该是动作的绝对 url,例如:
src="http://docs.google.com/viewer?embedded=true&url=http://localhost/App/loadFile?id=25"
我怎样才能做到这一点?它可能无法在 localhost 上运行,但应该可以在主机上运行
【问题讨论】:
-
阅读
<s:url>标签的文档:struts.apache.org/development/2.x/docs/url.html。 -
我应该在 s:url 标签中设置哪个属性来获取完整的 URL?
标签: java iframe struts2 google-document-viewer