【问题标题】:How do I open a jsp page as a popup via a spring controller?如何通过弹簧控制器将 jsp 页面作为弹出窗口打开?
【发布时间】:2015-10-24 10:53:19
【问题描述】:

我正在一个网站上工作,该网站通过一个 jsp 页面接受用户名和密码,该页面作为主页的弹出窗口打开。详细信息被发送到对用户进行身份验证的 java spring 控制器。如果凭据不正确,我想在同一个登录页面(在 div 标签内)显示一条错误消息,登录页面作为弹出窗口打开。当用户单击登录按钮时,我正在使用 jsp:include 将登录 jsp 页面作为弹出窗口打开。

【问题讨论】:

    标签: javascript java spring jsp


    【解决方案1】:

    如果您使用 Ajax 提交表单,那么您需要从控制器发送 JSON 或字符串响应。

    @ResponseBody
    public String login(HttpServlet request,HttpServletResponse){
      String username = request.getParameter("username");
      String password = request.getParameter("password");
    
      //do operation for authenticate user from database, I am assuming User Bean
      User user     = userDao.authenticate(username,password);
      if(user!=null){
    
        return "success";
      }else{
    
       return "error";
      }
    
    }
    

    如果您使用的是普通表单提交,您可以轻松设置一些值来映射,然后在 jsp 页面上使用 JSTL 检查并显示您想要显示的弹出窗口。

    @ResponseBody
        public String login(HttpServlet request,HttpServletResponse,Map map){
          String username = request.getParameter("username");
          String password = request.getParameter("password");
    
          //do operation for authenticate user from database, I am assuming User Bean
          User user     = userDao.authenticate(username,password);
          if(user!=null){
    
            map.put("error",0);
          }else{
    
          map.put("error",1);
          }
         return "home";
    
        }
    

    在 jsp 中,您可以使用它来检查它以显示您的弹出窗口。

    【讨论】:

    • 我实际上只使用常规提交按钮提交表单,但如果它解决了我的问题,我愿意使用它。感谢您的回复。
    • 然后使用我列出的第二个代码在地图上设置一些值,然后使用 JSTL 在 jsp 上检查它并编写 jquery 以显示弹出窗口。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-01
    相关资源
    最近更新 更多