我有一个start.jsp
页面。在其中我定义了一个 jQuery 点击处理程序:
$(document).ready(function() {
$("#myButton").click(function() {
// Injected from a Spring MVC controller returning a ModelAndView with
// modelAndView.addObject("fizz", myFizz);
var fizz = "${fizz}";
// Synchronous HTTP Get to invoke page redirect.
$.get(
"/myWidgets",
{
"fizz": fizz
},
function(data) {
// ???
}
);
});
});
然后,在控制器中监听/myWidgets
:
@RequestMapping(value = "/myWidgets.html", method = RequestMethod.GET)
public ModelAndView reloadAllTimeslots(@RequestParam("fizz") String fizz) {
ModelAndView mav = new ModelAndView();
// Should redirect the user to Oranges.jsp.
mav.setViewName("fruits/Oranges");
fruitDao.updateFruits(fizz);
logger.info("This prints to my log file perfectly fine, so I know this handler gets invoked.");
return mav;
}
但是,当我在start.jsp
页面上并单击myButton
时,页面永远不会重定向到Oranges.jsp
. 但是,控制器(上图)中的记录器语句会打印到我的服务器日志中。所以我知道代码 99% 都在工作,我只是没有得到我想要的用户体验。有人知道为什么我没有被重定向到这里吗?
更新:
我正在使用的视图解析器:
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix">
<value>/WEB-INF/views/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>