动作表单多个Servlet

时间:2012-10-03 09:53:05

标签: jsp servlets

虽然听起来有点傻,但我仍然在问这个概念和逻辑(至于敌人:))问题:

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

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

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

任何输入..... //

6 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

答案 2 :(得分: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的响应。

答案 3 :(得分:1)

这是不可能的。您可以做的可能是指向MainServlet并且Servlet可以将这些值传递给您的其他Servlets。但这可能会使控制器混淆。更好的方法是AJAX

答案 4 :(得分:0)

答案是否...... 表单只能有一个操作

但是可以通过不同的提交来进行特定的操作......

答案 5 :(得分:0)

我不确定,但可以在

的帮助下工作
request.getRequestDispatcher("yournextservlet").forward(request, response);