body onload无法触发html表单中的操作url
我在我的一个servlet中使用如下形式的onload方法:body onload无法触发html表单中的操作url,html,servlets,onload,Html,Servlets,Onload,我在我的一个servlet中使用如下形式的onload方法: out.write("<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\"> \n"); out.write("<html><body onload=\"document.forms[0].submit()\">\n"); out.
out.write("<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\"> \n");
out.write("<html><body onload=\"document.forms[0].submit()\">\n");
out.write("<form method=\"POST\" action=\"http://ipaddress:8085/internal/Logout\">\n");
out.write("<input type=\"hidden\" name=\"groupId\" value=\"" + groupId
+ "\"/>\n");
out.write("<input type=\"hidden\" name=\"userName\" value=\""
+ userName + "\"/>\n");
out.write("<input type=\"hidden\" name=\"idpServer\" value=\""
+ idpServer + "\"/>\n");
out.write("<input type=\"hidden\" name=\"sessionId\" value=\""
+ sessionId + "\"/>\n");
out.write("<input type=\"hidden\" name=\"targetPage\" value=\""
+ targetPageURL + "\"/>\n");
out.write("<input type=\"hidden\" name=\"locale\" value=\""
+ locale + "\"/>\n");
out.write("<input type=\"hidden\" name=\"logoutPage\" value=\""
+ logoutPage + "\"/>\n");
out.write("</form>\n</body>\n</html>\n");
在上面的代码之后,我还有一行
DeleteExpiredSessionId
在第一个代码块中,我们有“onload”方法,它会自动将表单提交到actionurl,但在我的例子中,它不会发生
该控件将转到其他servlet
在调试模式下,与CodeDeleteExpiredSessionId;的第二部分一起执行的代码;,我认为第二部分应该
无法执行,因为上面的代码具有onload。
早些时候,它工作正常,但突然停止工作。我想最近我们迁移到了tomcat6-tomcat7。这是原因吗?
任何建议都很好。
我测试了你的应用程序,发现问题在于你的操作地址和id无效。在URL中,您没有将端口字放在:之后。将其更改为以下代码,它将正常工作:
<form method="get" action="http://ipaddress:8080/internal/Logout" >
...
我用端口替换了8080。首先,分开视图和控制器,这是一个维护这种方式的挑战是的,没错@JigarJoshi,我会分开它,我不知道为什么它不能将表单提交到操作URL。您提交帖子的URL无效http://ipaddress:port/internal/LogoutThe url是正确的,请看编辑后的文章。为了举例说明我用了那个词,请看上面我编辑的文章post@User:关于onload,**onload**周围的星星呢?实际上我是为了让它加粗而做的。我正在使用firefox 24.0。我在firefox 34.0和Chromium上测试了它。右键单击页面并选择查看页面源,然后将内容复制到您的问题中。