mysql - 使用 Servlet、JSP、EJB 更新成员(member)(在网站上注册)的一个(或多个)字段

标签 mysql jsp netbeans jdbc ejb

我正在为一家“租车公司”开发网站程序

用户可以注册(完成)——使用 Servlet & Jsp 页面 如果已经是成员(member)则登录(完成)- 使用 java bean、servlet 和 jsp 进行预订(完成) 删除预订(完成)

我将 netbeans IDE 与 mysql(表:汽车、预订、成员(member))一起使用,并通过 JDBC 从网页连接到 MYSQL。现在我在这部分任务上有点卡住了:

更新他/她的帐户(即详细信息)

为什么?想到了不同的替代方案,例如要求用户输入用户名,然后显示包含成员详细信息的记录,显示复选框以便用户检查他/她想要更改的字段,然后使用 servlet 中的普通查询来更新数据库。然而,这在我看来并不是最好或“最好”的选择。

我想显示与已填充文本框的寄存器“相同”的网页(因此,如果用户输入“Maria”作为名称,文本框将已经有 Maria),以便可以在那里进行编辑然后在按下提交时更新该特定成员的记录。我是否必须使用 session 方法(.setAttribute 等)来保留成员的用户名,然后使用 String uname request.getParameter("username").toString(); 在文本框中显示信息? (例如)

你会怎么做呢?非常感谢意见和代码片段

谢谢 :))

最佳答案

只需让 JSP 相应地生成所有这些值都已预填充、预选和预检查的 HTML。在下面的示例中,我假设您当前登录的用户为 ${user}。 .

对于输入元素,只需打印 value属性:

<input type="text" name="username" value="${fn:escapeXml(user.username)}" />
<input type="text" name="email" value="${fn:escapeXml(user.email)}" />
<input type="text" name="firstname" value="${fn:escapeXml(user.firstname)}" />
<input type="text" name="lastname" value="${fn:escapeXml(user.lastname)}" />

(fn:escapeXml() 在这里非常重要,因为它可以防止可能的 XSS attack 漏洞)

对于下拉菜单,只需有条件地打印 selected <option> 上的属性:

<select name="country">
    <c:forEach items="${data.countries}" var="country">
        <option value="${country.code}" ${user.countryCode == country.code ? 'selected' : ''}>${country.name}</option>
    </c:forEach>
</select>

对于单选按钮和复选框,只是有条件地打印 checked属性:

<c:forEach items="${data.genders}" var="gender">
   <input type="radio" name="gender" value="${gender.id}" ${user.genderId == gender.id ? 'checked' : ''}" /> ${gender.description}
</c:forEach>

收集提交的值应该以同样的方式进行。唯一的区别是您不需要创建新用户,而只需将当前登录的用户更新为可用 ${user} .

关于mysql - 使用 Servlet、JSP、EJB 更新成员(member)(在网站上注册)的一个(或多个)字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10287281/

相关文章:

MySQL 多数据库模式更新 => 性能

MySql 单表,选择最近 7 天并包含空行

java - 从另一个 JSP 文件读取变量

java - 无法编译 JSP : 的类

c++ - 使用 netbeans 通过 libcgicc.a 编译 c++

php - 如何显示mysql中每个唯一项目的信息,合并每个项目的信息

mysql - 将 "IN"替换为 JOIN 语句

java - 如何使用jSTL、servlet在jsp中显示输出

java - 使用 NetBeans IDE 将图像添加到 JPanel

java - 将 native dll 与 jar 捆绑在一起