Java 为什么';t转发解析重定向?
我是Stripes新手,我尝试这样做:使用Ajax将数据从JSP1传递到属于JSP2的actionBean2,然后在JSP2上显示数据 我之所以这样做是因为JSP2为所有内容提供了公共接口,我希望将用户重定向到JSP2,以便他/她可以使用JSP2的标准接口查看在JSP1中选择的项目。 因此,当我试图将数据从ActionBean2传递到JSP2时,问题就出现了。尽管我的actionBean2返回语句如下所示:Java 为什么';t转发解析重定向?,java,jsp,servlets,web-applications,stripes,Java,Jsp,Servlets,Web Applications,Stripes,我是Stripes新手,我尝试这样做:使用Ajax将数据从JSP1传递到属于JSP2的actionBean2,然后在JSP2上显示数据 我之所以这样做是因为JSP2为所有内容提供了公共接口,我希望将用户重定向到JSP2,以便他/她可以使用JSP2的标准接口查看在JSP1中选择的项目。 因此,当我试图将数据从ActionBean2传递到JSP2时,问题就出现了。尽管我的actionBean2返回语句如下所示: return new ForwardResolution("/jsp2.jsp");
return new ForwardResolution("/jsp2.jsp");
它实际上并没有将我从JSP1重定向到JSP2<代码>重定向分辨率也不起作用。
我看到来自JSP1的AJAX请求被发送,ActionBean2中的事件处理程序接收到它,但没有从JSP1重定向我。JSP1甚至获得了JSP2 url的GET请求,但页面仍然没有重新加载。所以,看起来即使我在ActionBean2中,它仍然使用JSP1
我的问题是-ForwardResolution是否应该立即将我重定向到另一个页面(并重新加载浏览器页面)?而且-我在这些页面和actionBeans之间传递数据的想法是正确的吗?好的,我不得不使用一种变通方法,我一点也不喜欢这种方法。尽管如此,它仍然有效。但如果你有任何建议,请写信 我使用JavaScript重定向将参数从JSP1传递到URL中的JSP2。直截了当的方法,但解决了问题(当我尝试使用解析重定向时,JSP没有重定向): 在JSP2中,我使用AJAX调用JSP2 actionBean
if (window.location.search.indexOf("myparameters") != -1){
values = window.location.search.substr(window.location.search.indexOf("myparameters"), window.location.search.length);
values = decodeURIComponent( values );
//some parsing here, didn't include it
$.ajax({
url: "JSP2.action?from_redirect=",
data: {values: values},
type: "POST",
success: function(data) {
displayValues(data)
}
});
在JSP2.action中,我使from_重定向
侦听器返回:
return new StreamingResolution("application/javascript", data);
所以,这个方法很有效,但我不喜欢额外的重定向。
如果你有任何建议,如何解决问题的决议,请写下来。此外,我将感谢任何有关删除此方法中的额外重定向的帮助
return new StreamingResolution("application/javascript", data);