我是 JSP 和 Servlet 的新手。我在以下任务中需要您的建议。我有一个 jsp 页面,它有一个 html 表单,它接受用户的一些信息。
JSP 页面信息.jsp
<%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
<body>
<%
if(request.getAttribute("reply")!=null){
out.println(request.getAttribute("reply"));
}
%>
<form action="actionservlet" method="post" name="myform">
user Name:<input name="username" type="text" size="10" /><br />
First Name:<input name="username" type="text" size="10" /><br />
Last Name:<input name="username" type="text" size="10" /><br />
Email id:<input name="username" type="text" size="10" /><br />
<input name="submit" type="submit" value="Submit" />
<input name="Reset" type="reset" value="Reset" />
</form>
</body>
</html>
当这个客户端输入信息并提交表单时,表单中的数据被设置为 actionservlet,它检查用户输入的用户名是否已经存在于数据库中。如果用户名已经存在,那么它将数据发送回调用 jsp,并带有一个额外的属性“回复”和适当的消息值。即“用户已存在”如果输入的用户名已经存在于数据库中或“用户信息保存成功!” 如果数据保存成功。
我想做这样的事情每当用户输入已经存在的用户名并提交表单时,在这种情况下,发送回jsp的所有数据都应该填写到各自的文本框中。因此该用户只能输入另一个用户名并再次提交此表单。如何实现上述任务。
我正在考虑将 jsp scriplet 添加到每个文本框的 value 属性中,并检查此消息是否重播。如果回复消息是关于重复的用户名,那么它应该将值分配给 value 属性,否则 value 属性将保持为空。但我认为这个解决方案不是最优的,因为随着字段数量的增加,这个解决方案会变得有点乏味。而且我认为由于这个原因,它会产生某种冗余代码。所以我想问问专家,有没有其他方法可以做到这一点。我只想在错误或重复消息出现时填写表格,而不是在成功消息出现时填写。
谢谢你!