下面是我的jquery代码,我不想在spring mvc中打开editPostion.jsp页面。
$('#editRAG').click(function() {
$.ajax({
type : "GET",
cache: false,
//dataType : 'json',
url : "editPosition.jsp",
data: {
posn : $('#RAGVal').val(),
},
success : function(data) {alert('2');
window.location="/editPosition.jsp"
}
});
});
提前致谢。
答案 0 :(得分:1)
不要直接从客户端访问JSP。相反,依靠控制器为您提供服务。
例如,您可能将控制器映射到/editPosition
的GET请求,该请求为editPosition.jsp
提供服务。在这种情况下,请改为在AJAX调用中访问/editPosition
URL。
答案 1 :(得分:0)
使用处理程序方法定义一个控制器,它将返回客户端“view”,它将呈现你的jsp。 您需要在spring mvc中进行配置。
1.为视图解析器配置application-context.xml,在您的情况下为* .jsp
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/views/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
使用处理程序方法添加控制器以返回GET上所需的视图,即editPosition.jsp
@Controller
public class ViewController{
@RequestMapping(value = "/position", method=RequestMethod.GET)
public ModelAndView getEditPositionView(){
return new ModelAndView("editPosition");
}
}
你的jQuery看起来应该是(部分)
$('#editRAG').click(function() {
$.ajax({
type : "GET",
cache: false,
content-type: application/json
url : "position", //server root + position
data: {
posn : $('#RAGVal').val(),
}
});
});