【发布时间】:2012-12-21 01:08:47
【问题描述】:
我有一个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>
【问题讨论】:
-
您的项目是否包含
fruits/Oranges.jsp? -
@BhavikAmbani - 是的
fruits/Oranges.jsp是我项目中的一个 JSP 页面。 -
请输入您的spring配置,即
applicationContext.xml或sprint-servlet.xml -
@BhavikAmbani - 我的 Spring 上下文 XML 大量 - 有没有你特别想看的 bean 定义?
-
您是否尝试重定向到 ajax 请求中的另一个页面?我想这至少不能做到:1.停止使用ajax调用并使用正常的HTTP请求,2.在ajax
successjs函数中返回要重定向的页面并从那里进行重定向使用纯 JavaScript。
标签: java jquery jsp redirect spring-mvc