0

虽然听起来有点傻,但我仍然在问这个概念性和逻辑性的问题(就我而言:))问题:

在 jsp 页面中,我可以将它的表单数据发送到多个 Servlet 吗?例如:

form action="home","car" method="post" name="f1"或者

form name='form' method='POST' action='car','home'

任何输入.....//

4

6 回答 6

1

不,你不能从常规的 html 表单中做到这一点,你可以在 ajax 的帮助下进行这些调用。

于 2012-10-03T09:55:38.320 回答
1

答案是不。一个表单只能有一个动作。参考:http ://htmlhelp.com/faq/html/forms.html#two-action

于 2012-10-03T09:56:10.677 回答
1

在客户端,您可以通过 javascript 将表单提交给两个不同的 servlet,方法是指定两个不同的目标窗口来保存响应。

HTML:

<IFRAME id="firstResult" name="firstResult"></IFRAME>
<IFRAME id="secondResult" name="secondResult"></IFRAME>

Javascript:

function submitForm() {
    var form = document.getElementById("myForm");

    form.action = "/first-servlet";
    // Target is the name of the iframe to hold the response from first servlet.
    form.target = "firstResult"; 
    form.submit();


    form.action = "/second-servlet";
    // Target is the name of the iframe to hold the response from second servlet.
    form.target = "secondResult"; 
    form.submit();
}

然后,您应该有处理程序来捕获 IFRAME 的 onload 事件以处理来自 servlet 的响应。

于 2012-10-03T09:56:52.340 回答
1

这是不可能的。您可以做的也许是将您的观点指向 aMainServlet并且Servlet可以将这些值传递给您的 other Servlets。但这可能会使您的控制器混淆。更好的方法是AJAX.

于 2012-10-03T09:56:59.040 回答
0

答案是否定的……一个表单只能有一个动作

但是对于特定操作,可以使用不同的提交...

于 2012-10-04T07:12:16.257 回答
0

我不确定,但这可能会在

request.getRequestDispatcher("yournextservlet").forward(request, response);
于 2017-12-28T16:40:35.907 回答