我有一个动作,以这些台词结尾:
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进一步处理。
每当调用我的操作时,它都会将所有记录显示在一个简单的页面上。
发布于 2014-03-19 09:30:19
每个操作配置的结果name属性应该是唯一的,因此操作能够返回此结果。
使用stream结果类型需要为inputName参数引入的流提供一个getter。
返回的内容类型是text/html,因此您需要通过javascript解析该文本。您可以使用JSON.parse(data)。如果您通过提供映射到该操作的data向服务器(如$.ajax() )发出Ajax请求,您就可以使用该URL。在success函数处理程序上,您将得到data。
关于如何使用stream结果和json结果向客户端javascript返回json字符串的区别和解释,请参见this答案。
https://stackoverflow.com/questions/22501005
复制相似问题