我正在研究GWT应用程序。 我希望调试客户端Java代码。
我在Eclipse中以调试模式启动应用程序。 该应用程序在浏览器中启动,并正确设置了gwt.codesvr =。 我可以在这个阶段调试。 然后该应用程序重定向到另一个jsp页面。
网址中的gwt.codesvr =参数已被删除。
该应用程序使用History.newItem(“xx”)相当多(如http://code.google.com/webtoolkit/articles/mvp-architecture.html#history中所述)
问题是我现在无法调试客户端代码..作为 gwt.codesvr =参数已从网址中删除。
当我尝试重新添加时,应用历史记录处理代码会运行, 并且参数立即再次丢弃。
我在另一台PC上检查了这一点并发生了同样的行为。 我检查了Chrome和IE8并且相同..
解决方案是什么?
谢谢百万, Fergal。
答案 0 :(得分:2)
History.newItem()
保持查询字符串不变(在本例中为?gwt.codesvr=...
部分),因此这些调用不应该是问题。
你说,该应用程序重定向到另一个jsp页面。找出它是如何做到的 - 它可能使用Window.Location.replace(newURL)
之类的东西。确保newURL在其查询字符串中包含gwt.codesvr=...
部分。
如果服务器本身执行重定向(例如,如果它在POST请求后重定向),则确保服务器在重定向URL中添加查询字符串。 (在这种情况下,您可能必须使用POST参数提交代码服务器URL - 因为这是一个客户端概念,服务器不能简单地猜测它。)