2013-10-01 54 views
-1

我想在我的网站上的iframe中显示.doc.docx文件。在iframe中显示doc文件struts2

<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像动作:

src="http://docs.google.com/viewer?embedded=true&url=http://localhost/App/loadFile?id=25" 

怎么可以我做到了吗?它可能无法在本地主机工作,但应在托管

+0

阅读'的文档'标签:http://struts.apache.org/development/2.x/docs/url.html。 –

+0

我应该在s:url标记中设置哪个属性来获取完整的URL? – user2589197

回答

0

工作中使用s:url标签的属性中forceAddSchemeHostAndPort,以获得完整的URL

More Info

对于实例

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