这种情况:
我这里只是想做一个页面跳转而已,然后页面前端已经有响应了,而页面A就是不显示页面页面B
贴一下相关代码:
我jsp代码:
//发送ajax请求给服务器
$.post("aa/aa.action",{"aa" : aa},function(data){
},"json");
Java大致相关代码:
/**
* 转向登录后的主页面
* @return
*/
@Action(value = "aa", results = {
@Result(location = "a.jsp"),
@Result(name = "error" ,type = "dispatcher",location = "aa.jsp")
})
public String index() {
if (true){
return SUCCESS;
}
return ERROR;
}
然后解决后的代码:(解决方法就是在ajax请求的回调函数中加上这么一段代码就可以了:window.location.href=”新的action请求 在这个action请求里面进行页面的跳转”;)
//发送ajax请求给服务器
$.post("aa/aa.action",{"aa" : aa},function(data){
if(data.success){
window.location.href="aa/ss.action";
return;
}else{
$("#info").text(data.message).css({"color":"#f00"});
return;
}
},"json");
@Action(value = "aa")
public void login() throws IOException {
//jsp发送的ajax请求接收回调函数
ResultData resultData = ResultData.buildSuccessResult("登录成功");
printJSONObject(resultData);
return;
}
/**
* 转向登录后的主页面
* @return
*/
@Action(value = "ss", results = {
@Result(location = "a.jsp"),
@Result(name = "error" ,type = "dispatcher",location = "aa.jsp")
})
public String index() {
if (true){
return SUCCESS;
}
return ERROR;
}
出现这种问题的原因是因为发送ajax请求后到Struts2进页面的转发跳转是不起作用的,
至于具体的原因网上也有很多种解释,我这小半桶水就不过多解释了,怕误导大家了