java - 从数据库中提取数据到 Java 中的文本字段或文本区域

标签 java servlets database-connectivity

我知道我们可以从文本框或文本区域中检索文本,然后将数据插入到表格中。我们怎么能反其道而行之呢?即,如何根据某种条件将数据库中的所有数据放回特定的文本字段或区域?


更新:

我必须做一个小项目。它是一个人力资源信息系统项目。我必须能够根据员工的 ID 更新员工的详细信息。到目前为止,我设计和设想的方式如下:有一个 ID 下拉列表。我选择一个并使用表单处理程序单击“确定”。然后它转发到一个 servlet,该 servlet 显示我在添加员工时制作的表单。只是,这些文本字段不是空白,而是包含我在添加上述员工时插入的数据。那么,现在,我如何提取这些列值并将其放回文本字段中。我已经尝试将字段值设置为列属性名称,但显示的只是名称,而不是值。例如,当我设置 value=firstname(在我的数据库中指定)时,文本字段中的数据是“firstname”,而不是员工的实际名字。也许我会以错误的方式去做。有人可以确切地告诉我如何检索这些值吗?

最佳答案

使用servlet的doGet()方法对请求进行预处理(在浏览器中调用该servlet的URL)。

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    Employee employee = getItSomehow();
    request.setAttribute("employee", employee);
    request.getRequestDispatcher("/WEB-INF/edit.jsp").forward(request, response);
}

使用 JSP EL 将其显示在 HTML 输入字段的 value 属性中。

<input name="firstname" value="${employee.firstname}" />

但是,这为 XSS 打开了大门attacks .使用 JSTL fn:escapeXml() 来防止它。

<%@taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
...
<input name="firstname" value="${fn:escapeXml(employee.firstname)}" />

另见:

关于java - 从数据库中提取数据到 Java 中的文本字段或文本区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4253726/

相关文章:

java - 为什么我在 Netbeans 中收到错误 : java. lang.IllegalArgumentException 和 java.lang.reflect.InitationTargetException?

java - 如何在 $TOMCAT_HOME/logs 中为我的 servlet 创建命名日志?

java - 关于在 Java 中使用 JDBC 连接到 IBM 数据库

php - 使用 Windows 主机上的 ASP.Net 表单更新 Linux 主机上的 MySQL 数据库的最有效方法是什么?

java - 结果没有初始化?

java - 将一维字符串导入二维int数组

java - 如何按一定百分比增加触摸面积?

java - 无法为变量分配特定值

java - 尝试使用 servlet 和 jsp 插入 mysql 时出现错误