码迷,mamicode.com
首页 > 其他好文 > 详细

登录界面,保留用户输入的信息

时间:2019-01-31 20:41:16      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:描述   默认   val   数据   pass   img   png   输入   pos   

问题描述:

  当判断出用户输入的 "密码错误" 或 "用户不存在" 返回登录界面后,默认情况下,输入框会被清空,那该如何保留用户输入的信息呢?

运用方法:

  1、服务器把获取到的表单数据保存至 request 域中,然后请求转发回登录界面;

  2、登录界面(JSP)获取 request 域中的内容,使其成为 <input> 标签的 value 属性值。

服务器端:

  如:登录页面 ( Login.jsp ) 把表单提交到服务器 ( LoginServlet ) 中,获取到的参数分别为:username, password,那么:

  1、LoginServlet:

    request.setAttribute( "usernameInput", username );  // 保存输入的用户名

    request.setAttribute( "passwordInput", password );  // 保存输入的密码

    request.getRequestDispatcher( "Login.jsp" ).forward( request, response );  // 请求转发至登录页面

 

  2、Login.jsp:

    <%

      String usernameInput = "";  // 防空处理

      String passwordInput = "";  // 防空处理

      if( request.getAttribute( "usernameInput" ) != null )

      {

        usernameInput = ( String ) request.getAttribute( "usernameInput" );  // 获取 request 域中保存的用户名输入

        passwordInput = ( String ) request.getAttribute( "passwordInput" );  // 获取密码输入

      }

    %>

    <!-- 替换输入框的 value 值 -->

    <form method = " POST " action = " /XXX项目/LoginServlet ">

      <input type = " text " value = " <%= usernameInput %> " />

      <input type = "password" value = " <%= passwordInput %> " />

    </form>

    

技术分享图片

问题追加:

  之前用 Session 域保存,好像每次显示的都是上一次的输入。

  猜测:Session 域是在获取的时候才进行保存?所以会慢一拍?

登录界面,保留用户输入的信息

标签:描述   默认   val   数据   pass   img   png   输入   pos   

原文地址:https://www.cnblogs.com/bear-19970220/p/10343496.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!