项目需要有操作日志记录功能,需求是记录用户访问ACTION的入参和反参,于是采用拦截器实现,搜了一下,拦截器中一般这样实现获取action的返回值:
inv.invoke();// 在此之后进行下方的日志记录
Render render = inv.getController().getRender();
if (render instanceof JsonRender) {
JsonRender jr = (JsonRender)render;
String jsonText = jr.getJsonText();
问题来了:
如果Controller中是renderJson(String jsonText),拦截器可以获取ACTION返回的jsonText;
如果Controller中是renderJson(String[] attrs),这时候上述拦截器代码获取不到jsonText了....