两个表单但只有1个jsp文件

jos*_*t91 4 html java forms jsp

这是我发生的事情.我有一个.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>
Run Code Online (Sandbox Code Playgroud)

如果单击该按钮,我想运行此代码:

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><% }
Run Code Online (Sandbox Code Playgroud)

再向下,我会有一些完全相同的东西,但提交一个不同的形式.谢谢!

Bal*_*usC 5

为提交按钮指定一个唯一的名称.它成为请求参数名称.这样你就可以检查是否HttpServletRequest#getParameter()没有返回null.

例如

<input type="submit" name="login" Value="Login" />

...

<input type="submit" name="somethingelse" Value="Something else" />
Run Code Online (Sandbox Code Playgroud)

if (request.getParameter("login") != null) {
    // Login form submitted.
}
else if (request.getParameter("somethingelse") != null) {
    // Something else submitted.
}
Run Code Online (Sandbox Code Playgroud)

具体问题无关,业务逻辑属于JSP,而属于Servlet.我也开始研究它.这使您可以将表单提交到不同的URL.此外,您应该使用POST方法,而不是GET方法.