wvp*_*wvp 6 spring-mvc interceptor
我有一个延伸的拦截器HandlerInterceptorAdapter.
当我向我添加一个对象时,ModelAndView它也会作为路径变量添加到我的URL中,但我不希望这样.
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) {
if (null == modelAndView) {
return;
}
log.info("Language in postHandle: {}", LocaleContextHolder.getLocale());
modelAndView.addObject("selectedLocale", LocaleContextHolder.getLocale());
}
Run Code Online (Sandbox Code Playgroud)
当我ModelAndView在控制器本身添加一些内容时,它不会出现在网址中.
ska*_*man 11
我怀疑控制器已返回重定向视图.当您向所使用的模型添加属性时RedirectView,Spring会将属性添加到URL.
尝试查看ModelAndView对象内部以查看视图是否为a RedirectView,如果是,则不要添加locale属性.
小智 7
试试这个
import static org.springframework.web.servlet.view.UrlBasedViewResolver.REDIRECT_URL_PREFIX;
private boolean isRedirectView(ModelAndView mv) {
String viewName = mv.getViewName();
if (viewName.startsWith(REDIRECT_URL_PREFIX)) {
return true;
}
View view = mv.getView();
return (view != null && view instanceof SmartView
&& ((SmartView) view).isRedirectView());
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4430 次 |
| 最近记录: |