Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
body onload无法触发html表单中的操作url_Html_Servlets_Onload - Fatal编程技术网

body onload无法触发html表单中的操作url

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.

我在我的一个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.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上测试了它。右键单击页面并选择查看页面源,然后将内容复制到您的问题中。