2013-10-01 4 views
-1

Я хочу показать .doc и .docx файлам на моем сайте в iframe.Показать файл документа в iframe 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> 

Функция Iframe работает, когда я установил URL действия непосредственно в атрибуте SRC. Однако с src="http://docs.google.com/viewer?embedded=true&url= действие никогда не вызывается. Есть ли другая альтернатива, чтобы показать файл MS Word? Я могу показать pdf, напрямую поместив URL-адрес действия в атрибут src.

Благодаря

EDIT

Проблема может быть потому, что ГНЦ IFRAME превращается в:

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" 

Как можно Я этого добиваюсь? Он не может работать на локальном хосте, но должен работать на хостинг

+0

Прочитайте документацию для ' 'tag: http://struts.apache.org/development/2.x/docs/url.html. –

+0

Какой атрибут должен быть установлен в теге s: url, чтобы получить полный URL? – user2589197

ответ

0

Используйте атрибут forceAddSchemeHostAndPort из s:url тега, чтобы получить полный адрес

More Info

Для примера

<s:url action='myaction' forceAddSchemeHostAndPort='true'> 
<s:param name='id' value='25'/> 
</s:url> 
Смежные вопросы