当前位置: 首页 > 知识库问答 >
问题:

如何将JSP(超文本标记语言)表的行传递给servlet?[重复]

墨雨华
2023-03-14

这是我的代码:

    <table border="2">
<tr>
<th>CourseID</th>
<th>SectionNo</th>
<th>Add Info</th>
</tr>
    <% while(rs.next()){    %>  

        <tr>
            <FORM NAME="actionForm" action="ProfCourseUpdate" method='post'>
            <td> <%=rs.getString("CourseID") %> </td>
            <td> <%=rs.getInt("SectionNo") %> </td>
            <td> <input type="submit" name="ProfCourseUpdate" value="Update Course Info"></td>
            </FORM>
        </tr>

    <% } %>
</table>

我正在从数据库中提取信息并将它们放入表中各自的列中。所以它看起来像:|课程---部分---(按钮)|

当我让用户单击提交按钮时,我希望能够传递整行的数据。我尝试过以这种方式隐藏输入:

<td> <%=rs.getString("CourseID") %> </td><td><input type="hidden" name="Course" value="<%rs.getString("CourseID") %>"></td>

这只会导致一些奇怪的表格格式,并且不起作用。

共有1个答案

潘俊
2023-03-14

您需要将所有要传递的信息放在INPUT(文本,隐藏)或使用URL将其通知给servlet。

首先,您可能需要考虑几件事:

  1. 在您的页面中只使用一个form标签,而不是每行使用一个。
  2. 将整个包含在您的form标记中。

你最终会得到这样的结果:

<FORM NAME="actionForm" action="ProfCourseUpdate" method='post'>
<table border="2">
<tr>
    <th>CourseID</th>
    <th>SectionNo</th>
    <th>Add Info</th>
</tr>
<% while(rs.next()){    %>  
<tr>
    <td> <%=rs.getString("CourseID") %> </td>
    <td> <%=rs.getInt("SectionNo") %> </td>
    <td> <input type="submit" name="ProfCourseUpdate" value="Update Course Info"></td>
</tr>
<% } %>
</table>
</FORM>

现在,所有这些都被清除了,你可能想要使用一种不同的方法。如果您希望表格用于选择课程/部分,您甚至不需要表单(或提交按钮)。

您可以替换此:

    <td><input type="submit" name="ProfCourseUpdate" value="Update Course Info"></td>

有了这个:

    <td><a href="/ProfCourseUpdate?CourseID=<%=rs.getString("CourseID") %>&SectionNo=<%=rs.getInt("SectionNo") %>">Update</a></td>

这样,带有接收所需的两个变量(CourseIDSectionNo)来检索和更新该行的PryCourseUpdateservlet。

如果必须使用按钮,则可以使用相同的技术,但对值进行编码。但我不建议这样做。

 类似资料:
  • 我的html表单有一个选择选项。在我从选项更改数据并提交数据后,将运行Mysql查询。我想要的是,在从select中选择数据之后,它将重新加载并将值传递给php代码。 这是html 这里是提交后运行的php 我试过这个。类型submit(),但它不发送数据。我知道我需要学习Ajax。是否有任何方法可以重新更改表单并将数据传递给php?

  • 我想开发一个包含注册和登录按钮的登录HTML页面。在运行时的HTML页面中,我可以选择任何按钮(登录/注册)。点击注册页面时,页面应重定向至注册JSP程序,点击登录页面时,页面应重定向至登录Servlet程序。现在的问题是,我必须在html页面中提到表单的实际方法?如何解决这个问题?

  • 我在jsp页面中有html表,动态加载数据库中的数据,然后我想通过servlet将表中的所有数据保存到数据库中。现在我的问题是,我有一个jsp页面,其中显示来自servlet的数据表,其中包含复选框,我必须将选中的内容发送到servlet,以便更新到数据库,如何做到这一点。 提前谢谢,这是我的桌子

  • 如何将列表从jsp传递到servlet?我想在JSP中添加dianomic字段,并通过servlet插入它。

  • 我需要你的帮助,在这个特殊的问题上,我想传递一个隐藏输入类型的值。jsp程序到servlet程序 我现在做的基本上是这样的 从servlet中我得到了值 它没有打印任何想法。jsp表单方法是post,servlet方法是doPost 有什么想法为什么它不传递参数吗?

  • 我试图在HTML的pre标签中包装文本,但它不起作用。我使用下面的CSS作为我的标签。 我从如何在pre标记中换行文本? 我已添加