1

我有这个jsp页面-

<%@page import="java.text.Normalizer.Form"%>    
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    </head>
    <body>

        <legend>Create new customer</legend>
          <%!
        boolean checkForm(Form theForm)
        {
          // some checks on "theForm" .. 
          return false ; 
        }
        %>
        <form action="CreateCustomerServlet" method="GET" onsubmit=<%=checkForm() %>>
            // form's fields .. 
            <input type="submit" value="Create customer" />
        </form>
        </fieldset>
    </body>
    </html>

我想要做的是,当按下它时,submit它会转到checkForm函数并检查表单,只有当它checkForm返回true时,它才会进入CreateCustomerServletservlet。

但是当我在服务器上运行这个页面并按下submit按钮时,我看到它被忽略checkForm并直接转到CreateCustomerServletservlet 。

我知道用 javascript 来做这件事很容易.. 但我想用 java 函数来做。

4

3 回答 3

2

在评估 JSP 时,它会生成一个返回给用户的静态 HTML 页面。服务器在收到表单提交之前不会再次参与该过程。如果您确实希望从处理程序执行某些服务器端行为,则onsubmit需要通过 AJAX 执行此操作。

于 2012-08-03T14:08:12.747 回答
0

问题是您不能从客户端直接调用 java 函数(放置在服务器上)。您可以在客户端移动检查逻辑并为此使用 JavaScript。

于 2012-08-03T14:08:25.870 回答
0

你可以使用 javascript 来满足你的要求

于 2012-08-04T09:48:07.407 回答