我有这个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
它才会出现CreateCustomerServlet
servlet。
但是当我在服务器上运行此页面并按下submit
按钮时,我看到它被忽略checkForm
并直接转到CreateCustomerServlet
servlet。
我知道用javascript这很容易..但我想用java函数来做。
答案 0 :(得分:2)
评估JSP时,它会生成一个返回给用户的静态HTML页面。在收到表单提交之前,服务器不会再次参与该过程。如果您确实需要从onsubmit
处理程序执行某些服务器端行为,则需要通过AJAX执行此操作。
答案 1 :(得分:0)
问题是你不能直接从客户端调用java函数(放在服务器上)。您可以在客户端移动检查逻辑并使用JavaScript。
答案 2 :(得分:0)
您可以使用javascript满足您的要求