【问题标题】:Display doc file in iframe struts2在 iframe struts2 中显示 doc 文件
【发布时间】: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&amp;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 上运行,但应该可以在主机上运行

【问题讨论】:

标签: java iframe struts2 google-document-viewer


【解决方案1】:

使用s:url标签的属性forceAddSchemeHostAndPort获取完整的url

More Info

举例

<s:url action='myaction' forceAddSchemeHostAndPort='true'>
<s:param name='id' value='25'/>
</s:url>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-23
    • 2017-07-26
    相关资源
    最近更新 更多