Я недавно столкнулся с этой же проблемой. Может быть официальный способ решить эту проблему, но я не смог его найти. Мое решение состояло в том, чтобы создать перехватчик для помещения имени вида в модель.
Мой перехватчик очень прост:
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
public class ViewNameInModelInterceptor extends HandlerInterceptorAdapter {
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
ModelAndView modelAndView) throws Exception {
if (modelAndView != null) {
modelAndView.addObject("springViewName", modelAndView.getViewName());
}
super.postHandle(request, response, handler, modelAndView);
}
}
И зарегистрировать его в весеннем конфиге тоже довольно просто (используя конфигурацию пространства имен):
<mvc:interceptors>
<beans:bean class="ViewNameInModelInterceptor" />
</mvc:interceptors>