2011-10-11 42 views
0
<action name="trial_employee" 
     class="parity.action.TrialPrintEmployeeCopyAction"> 
    <result>/protected/trial_employee.pdf</result> 
</action> 

我有一個動作類生成PDF文件供下載。如何配置操作結果以返回PDF?如何配置Struts 2以返回生成的PDF?

上述不起作用,它給了我一個404錯誤,因爲pdf不在驅動器上,它是動態生成的。

回答

2

如果動態地生成它,你可以返回它作爲流像

<result name="pdf File" type="stream"> 
<param name="contentType">${contentType}</param> 
</result> 

更多的細節在這裏

Stream result

+0

不要緊,它是如何產生,你可以還要流過文件系統。 –

+0

@Dave:同意!!!我建議這樣做,因爲如果在文件系統上生成文件,我們可以用其他方式圍繞 –

+0

年,不幸的是開發這個東西的白癡最初會在內存中生成5到15兆PDF文件並從內存中流式傳輸它們。所有我允許做的就是將其轉換爲struts2。我想通過一個字節數組來做到這一點,但它很醜陋。非常非常難看。 – scphantm