2014-03-19 144 views
1

我有一個動作,是與這些行結尾:如何從顯示結果中獲得輸入流:表?

String pageVisitJson = new Gson().toJson(pageVisitLogList); 
is = new ByteArrayInputStream(pageVisitJson.getBytes()); 
return SUCCESS; 

這種作用的結果是:

@Results({ 
    @Result(name=ActionSupport.SUCCESS , type="stream", params={"contentType", "text/html", "inputName", "is"}), 
    @Result(name=ActionSupport.SUCCESS, type="tiles", location="/pageVisitReport.tiles") 
}) 

pageVisitReport.tiles是我需要使用顯示標記來顯示錶的頁面。現在,如何在顯示標籤中訪問輸入流is。我的@Result不正確還是還有其他內容?顯示錶將進一步由jQuery處理。

每當我的動作被調用,它只是顯示一個簡單的頁面上的所有記錄。

+0

你不能將兩個結果映射到相同的結果名稱 –

+0

好吧,我也在考慮它......並且對於問題的觀點,我把這一行放在這裏,因爲我需要將該輸入流發送到pagevisitreport。瓷磚以及。 –

回答

0

結果name屬性應爲每個操作配置唯一的,所以動作能夠返回這個結果。

使用stream結果類型需要是提供一種用於由inputName參數引入的流的吸氣劑。

返回的內容類型爲text/html所以你需要分析通過JavaScript這個文本。您可以使用JSON.parse(data)。如果您向$.ajax()這樣的服務器發出Ajax請求,則可以使用data,方法是提供映射到操作的URL。在success功能處理程序上,您將獲得data

區別和解釋如何使用一個stream結果vs json結果返回json字符串到客戶端javascript請參閱this答案。

相關問題