【问题标题】:Servlet how to call mutiple submit buttonServlet如何调用多个提交按钮
【发布时间】:2012-10-17 08:27:24
【问题描述】:

我有一个关于我的简单应用程序的问题我有 2 个单独的 .JSP 文件,比如说 register 和 login.jsp 都具有提交操作,并且这两个 jsp 共享同一个 servlet,比如说 usercontrol.servlet 我如何调用该操作一次如果它们共享公共 servlet,登录按钮也与 register.jsp 相同?

这是我的 servlet 代码:

if(request.getParameter("register").equals("Register")){
            if(request.getParameter("first") == "" || request.getParameter("middle") == "" || request.getParameter("last") == "" || 
                    request.getParameter("loginid") == "" || request.getParameter("pass") == "" || request.getParameter("pass2")== ""){
                JOptionPane.showMessageDialog(null, "Cannot leave null value from one of the textfields");
                response.sendRedirect("AdminPage/Register.jsp");

            }
            //else if(request.getParameter("pass") != request.getParameter("pass2")){
                //JOptionPane.showMessageDialog(null, "Password Mismatch, Check you password and retype it correctly");
                //response.sendRedirect("AdminPage/Register.jsp");
            //}
            else{
                RegisterUser(request, response);
            }
    }

    else if(request.getParameter("login").equals("Login")){
        if(request.getParameter("username") == ""){
            JOptionPane.showMessageDialog(null, "Username is required");
            response.sendRedirect("AdminPage/Login.jsp");
        }
        else if(request.getParameter("password") == ""){
            JOptionPane.showMessageDialog(null, "Password is required");
            response.sendRedirect("AdminPage/Login.jsp");
        }
        else if(request.getParameter("username") == "" || request.getParameter("password") == ""){
            JOptionPane.showMessageDialog(null, "Password/Username is required");
            response.sendRedirect("AdminPage/Login.jsp");
        }
        else{
            LoginUser(response, request);
        }   
    }

我正在将我的应用程序与休眠集成。

这是我的 jsp 提交按钮,我没有包含整个表单,我只包含提交按钮。

登录.jsp

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

Register.jsp

<input type="submit" name="register" value="Register"/>

我的问题是每次我运行应用程序时,它总是执行 if..else 语句中的所有操作,还有其他方法可以解决这个问题吗?

【问题讨论】:

  • 我的话!!!!在 Web 应用程序中包含 JOptionPane完全不鼓励。这就是为什么我建议不要遵循RoseIndia.net 上的所有示例。
  • 您如何将值 Register 和 Login 放入请求中?似乎两者都在请求中可用。可以发一下你的jsp吗?
  • 其实这只是一个测试代码当然我不会在我的应用程序上实现 JOptionpane 我只是想知道 if...else 语句是否调用了正确的方法..对不起 JOptionpane .
  • 这就是记录器的用途 - 我们拥有技术

标签: java hibernate jsp servlets


【解决方案1】:

在你的jsp中你应该有提交按钮

对于 login.jsp

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

对于 register.jsp

<input type="submit" name="register" value="Register"/>

现在在 servlet 中你可以像这样检查

if(request.getParameter("login") != null) {
  // request is comming from login jsp
  // do validation, perform actual transaction 
} else if(request.getParameter("register") != null) {
  // request is comming from register jsp
  // do validation, perform actual transaction 
}

【讨论】:

  • 非常感谢它现在工作有时我不理解 java 有时它很容易理解,我的意思是 null 和 "" 在 java 中是不同的,因为 request.getParameter 的数据类型是什么,它对象还是字符串?
  • 你知道koushik吗?我是他的儿子 :) 开玩笑的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-08-03
  • 2021-08-11
  • 2013-04-16
  • 1970-01-01
  • 1970-01-01
  • 2014-03-03
  • 1970-01-01
相关资源
最近更新 更多