使用不同的视图解析器我尝试解决以下问题:根据要求
我已经建立了我自己的ViewResolver,添加页眉和页脚到我的所有请求(感谢,计算器; P)。这工作正常。
问题是,我的ajax-requests,返回一个视图到一个特定的容器,也自动获取页眉和页脚,当然是不打算。
如果请求包含'/ ajax /',如何让viewResolver采取不同的行为?实际上,jstl-Viewer对他们来说工作得很好,但目前,我自己的解析器是唯一使用的解析器,因为我不知道如何告诉spring在'/ ajax /'上采取不同的行为。
这里我自己的解析器,非常简单,只需从这里取:
public class ViewTemplate extends InternalResourceView {
@Override
protected void renderMergedOutputModel(Map<String, Object> model, HttpServletRequest request, HttpServletResponse response) throws Exception {
String dispatcherPath = prepareForRendering(request, response);
request.setAttribute("partial", dispatcherPath.substring(nthOccurrence(dispatcherPath, '/' , 2) + 1));
RequestDispatcher rd = request.getRequestDispatcher("/WEB-INF/views/layout.jsp");
rd.include(request, response);
}
// more functions like nthOccurrence
}
我必须告诉这个解析器,如果的indexOf( “/ AJAX /”)= -1 jstView需要被调用! ?如果是,如何? 还是我做的完全错了?我想保留我的页眉/页脚,因为它们适用于所有非Ajax请求!
任何帮助表示赞赏!
谢谢!