这就是我正在做的事情。我有一个 .jsp 文件。但是,我有两个表单,在这些表单中有多个输入。
检测一个表单已提交但另一个表单未提交的最佳方法是什么?这是一个例子:我有这个表格:
<form name = "login" action="index.jsp" method="get">
Username: <input id="username" name="username" type="text"/><br/>
Password: <input id="password" name="password" type="password"/>
<input type="submit" Value="Login" ></input>
</form>
如果单击该按钮,我想运行此代码:
String username = request.getParameter("username");
String password = request.getParameter("password");
if((username!= null && !username.trim().equals("")) && (password != null && !username.trim().equals(""))) {
DBentry DBentry=new DBentry();
boolean flag = DBentry.isTaken(username);
if(flag) {%><script type="text/javascript">alert("Login Successful!");</script><%
}
else { %><script type="text/javascript">alert("Unrecognized username. Please register!");</script><% }
}
else { %><script type="text/javascript">alert("Please enter both a username and password!");</script><% }
再往下,我会得到完全类似的东西,但提交的是不同的表格。 谢谢!
最佳答案
为提交按钮指定一个唯一的名称。它成为请求参数名称。这样您就可以检查 HttpServletRequest#getParameter()
是否不返回 null
。
例如
<input type="submit" name="login" Value="Login" />
...
<input type="submit" name="somethingelse" Value="Something else" />
与
if (request.getParameter("login") != null) {
// Login form submitted.
}
else if (request.getParameter("somethingelse") != null) {
// Something else submitted.
}
不相关具体问题,业务逻辑doesn't属于 JSP,但属于 Servlet .我也会开始研究它。这使您能够将表单提交到不同的 URL。此外,您应该为此使用 POST 方法,而不是 GET 方法。
关于java - 两种形式但只有1个jsp文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12488141/