我有一个动作,以这些行结束:
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
是我需要使用display标签显示表格的页面。现在,如何在显示标记中访问输入流is
。我的@Result
不正确还是还有别的?显示表将进一步由jQuery处理。
每当调用我的动作时,它只会在一个简单的页面上显示所有记录。
答案 0 :(得分:0)
每个操作配置的结果名称属性应该是唯一的,因此操作可以返回此结果。
使用stream
结果类型需要为inputName
参数引入的流提供getter。
返回的内容类型为text/html
,因此您需要通过javascript解析此文本。您可以使用JSON.parse(data)
。如果您通过提供映射到操作的URL向data
服务器发出Ajax请求,则$.ajax()
将可用。在success
函数处理程序中,您将获得data
。
有关如何使用stream
结果vs json
结果将json字符串返回给客户端javascript的差异和说明,请参阅this answer。