首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用jsp将单选按钮和复选框的值插入到我的数据库中?

如何使用jsp将单选按钮和复选框的值插入到我的数据库中?
EN

Stack Overflow用户
提问于 2018-01-13 20:20:00
回答 1查看 1.6K关注 0票数 1

我的代码出了点问题,我不知道怎么继续。

我所拥有的是一个网页,其中显示了用户先前搜索过的推特列表。

现在我想要的是,用户可以提供一些关于搜索的信息,比如如果它有帮助的话,以及在哪些领域(体育、购物、计算.)如果是的话。

我的代码是这样的:

代码语言:javascript
复制
<table class="display dataTable no-footer" id="DataTables_Table_0">
                        <%
                            Class.forName("com.mysql.jdbc.Driver");
                            Connection connect = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "test", "test");
                            Statement statement = connect.createStatement();
                            String query = "select * from cataluna_sin;";
                            ResultSet rs = statement.executeQuery(query);
                            while (rs.next()) {
                        %>
                        <tr>
                        <tr>
                            <td><b>tweet</b></td>
                            <td><b>retweet</b></td>
                            <td><b>usuario</b></td>
                            <td><b>Geolocalización</b></td>
                            <td><b>creador</b></td>
                            <td><b>¿Relevante?</b></td>
                            <td><b>Tipo de Delito</b></td>
                        </tr>
                        <%
                            while (rs.next()) {
                        %>
                        <tr>
                            <td><%=new String(rs.getString("tweet").getBytes("ISO-8859-1"), "UTF-8")%></td>
                            <td><%=rs.getInt("retweets")%></td>
                            <td><%=rs.getString("usuario")%></td>
                            <td><%=rs.getString("geolocalizacion")%></td>
                            <td><%=rs.getString("creador")%></td>
                            <td>

                                <form action=Update onsubmit=refreshpage();return false>
                                    <input type="radio" value="No" name="<%=rs.getLong("id")%>"
                                        checked>No<br> 
                                    <input type="radio" value="Si"
                                        name="<%=rs.getLong("id")%>">Si<br>
                            </td>
                            <td></td>
                            <td>
                            <input type="submit" value="clasificar"></td>
                            </form>
                        </tr>
                        <%
                            }
                            }
                        %>
                    </table>

当他们按下submit按钮时,我想要更新数据库,但我不知道怎么做。

EN

回答 1

Stack Overflow用户

发布于 2018-01-13 20:33:31

在您的代码中,您有以下内容

代码语言:javascript
复制
<input type="radio" value="No" name="<%=rs.getLong("id")%>" checked>No<br> 
<input type="radio" value="Si" name="<%=rs.getLong("id")%>">Si<br>

把它改成

代码语言:javascript
复制
<input type="radio" value="No" name="radio_<%=rs.getLong("id")%>" checked>No<br>
<input type="radio" value="Si" name="chk_<%=rs.getLong("id")%>">Si<br>

通过这种方式,您可以通过使用radio_idchk_id来以不同的方式识别它们,否则,在您的情况下,两者将具有相同的名称,并且您将无法识别它们的值。

您必须将表单发布到url,并且url应该映射到servlet。

数据库代码应该在servlet中,而不是jsp中。

在这种情况下,也可以通过将表单提交到同一个url,但这不是一个好主意。

您有onsubmit形式的refreshPage javascript方法。您可以通过ajax或通过页面回发到servlet来发布数据。

所以

  1. 创建一个servlet。把你所有的数据库代码都放进去。
  2. 从jsp中删除db代码
  3. 从servlet加载数据
  4. 为了保存,只需将提交表单指向servlet (加载数据或另一个数据的servlet )。
  5. 之后,在成功的db保存的servlet中,将重定向回这个jsp。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48243946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档