執行java功能我有這個jsp頁面 -JSP - 通過的onsubmit
<%@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功能來做到這一點。
您應該聲明/在一個Java類中定義的方法(或在servlet)不是在JSP。當表單被提交併且調用了servlet時,表單對象可以被填充並傳遞給方法。此外,'onsubmit'屬性用於在瀏覽器中調用Javascript函數,而不是(服務器端)Java方法。 – 2012-08-03 14:13:03
是的..我知道你說什麼傳遞給servlet。但如果你可以在客戶端做到這一點,它看起來效率很低。所以最好的方式來檢查表單而不發送到sevlet是通過JavaScript,我是對嗎? – URL87 2012-08-03 14:38:27
您可以通過驗證客戶端上的表單來保存到服務器的往返行程。但我認爲在服務器端也進行驗證是安全的(如果Javascript以某種方式失敗)。 – 2012-08-03 14:57:26