一. 问题背景
在登录页面输入账号密码的时候,点击登录,如果账号或密码错误,则会跳转会原来的页面,账号和密码的文本框里面的数据信息会被清空,这样我们又得重新输入信息了,造成我们对此页面效果很不耐烦。如下图:
登录账号密码:
点击登录:
文本框的代码:
<tr>
<td>用户名</td>
<td><input type="text" name="username" placeholder="请输入用户名" ></td>
</tr>
<tr>
<td>密码</td>
<td><input type="password" name="password" placeholder="请输入密码" ></td>
</tr>
二. 解决方案
只需要在文本框里面添加value属性value=${param.xxx}
即可
文本框的代码:
<tr>
<td>用户名</td>
<td><input type="text" name="username" placeholder="请输入用户名" value="${param.username}"></td>
</tr>
<tr>
<td>密码</td>
<td><input type="password" name="password" placeholder="请输入密码" value="${param.password}"></td>
</tr>
解释value=${param.xxx}
:
- 在jsp页面提交的url (如http://localhost:8080/OnlineBookShop/login.jsp?username=123qwe) 给服务器时,如果要获取?后面的参数,我们应该用
request.getParameter("username");
,这个就相当于用${param.username}
,可以理解成${param.username}
是在jsp页面里面用的,而request.getParamter("username");
是在Java类里面用的。 - 获取从服务器传来jsp页面的结果,可以用
request.getAttribute("username");
(前提是你要设置了request.setAttribute("username")
. ),相当于用${requestScope.username}
或者${username}
- 详情解释请看${param.username}的作用是什么