java - 将数据库中的数据显示到文本框中

标签 java jsp servlets

我有2个JSP页面如下:

项目类别.jsp

 <%
    Connection con = DbConnect.connect();
    Statement s = con.createStatement();

    ResultSet rs = s.executeQuery("select * from projectcategory");
 %>
        <DIV class="TabbedPanelsContent" align="center">
        <TABLE border="1">
            <TR>
                <TH>CATEGORY ID</TH>
                <TH>CATEGORY NAME</TH>
                <TH>Edit/Update</TH>
            </TR>

            <%
                while (rs.next()) {
            %>
            <%String p=rs.getString(1);%>

            <TR>
                <TD><%=rs.getString(1)%></TD>
                <TD><%=rs.getString(2)%></TD>
                <TD>

                <FORM action="EditPcat.jsp?pcatid=p"><INPUT type="submit"
                    value='edit/update'></INPUT>
                </FORM>

                </TD>
            </TR>

            <%
                }
            %>
        </TABLE>
        </DIV>

另一个是Editpcat.jsp:

</head>
<body>

<%String s=request.getParameter("p"); %>



<form action="ProjCatServlet" method="post">
<div align="right"><a href="projectcategory.jsp">view</a></div>
<fieldset>

<legend>Edit category</legend>
<table cellspacing="2" cellpadding="2" border="0">
    <tr>
        <td align="left">Category Id</td>

        <td><input type="text" name="pcatid" value="<%=s%>" ></td>
    </tr>

    <tr>
        <td align="right">Category Name</td>
        <td><input type="text" name="pcatname"></td>
    </tr>

    <tr>
        <td><input type="submit" value="submit"></td>
    </tr>

</table>

<input type="hidden" name="FUNCTION_ID" value="UPDATE">

</fieldset>
</form>

如何将从数据库获取的一个 JSP 页面的值显示到另一个 JSP 的文本框中?

最佳答案

您将其作为名为 pcatid 的请求参数进行传递:

<FORM action="EditPcat.jsp?pcatid=p">

但是您尝试将其作为名称为 p 的请求参数获取:

<%String s=request.getParameter("p"); %>

将名称对齐。

也就是说,您用 servlet 标记了这个问题,但您根本没有使用 servlet。老实说这段代码是一场灾难。 Scriptlet 是一种糟糕的做法,并且 JDBC 代码正在泄漏资源。原始 Java 代码属于 Java 类,而不是 JSP 文件。使用JSTL等标签库来控制页面流,并使用EL(表达式语言)来访问后端数据。浏览those tutorials让它正确。

启动示例:

public void doGet(HttpServletRequest request, HttpServletResponse response) {
    List<Project> projects = projectDAO.list();
    request.setAttribute("projects", projects);
    request.getRequestDispatcher("projects.jsp").forward(request, response);
}

<table>
    <c:forEach items="${projects}" var="project">
        <tr>
            <td>${project.id}</td>
            <td>${project.name}</td>
        </tr>
    </c:forEach>
</table>

关于java - 将数据库中的数据显示到文本框中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2667861/

相关文章:

java - wordpress servlet 映射不工作

Java Project 与 Maven Project (Eclipse),需要澄清目录结构

java - 需要帮助在 Spring/Maven 上配置 MongoDB

java - 将协议(protocol)中的@可选选择器移植到Java接口(interface)

java - 想要在 Servlet 中使用 applicationContext 或 WebApplicationContext 来使用 Spring Bean。我怎样才能做到这一点

java - 类 从 Servlet 请求数据

java - "Maven is on version"提供错误 "Error: JAVA_HOME is not defined correctly"

java - 我应该使用什么 Eclipse API 来访问 jsp 文件的 dom 树?

java - 如何在jsp页面中保留表单值?

servlets - 我正在寻找一种使用 JSch 创建异步和无状态 ssh 连接的方法?