我的代码出了点问题,我不知道怎么继续。
我所拥有的是一个网页,其中显示了用户先前搜索过的推特列表。
现在我想要的是,用户可以提供一些关于搜索的信息,比如如果它有帮助的话,以及在哪些领域(体育、购物、计算.)如果是的话。
我的代码是这样的:
<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按钮时,我想要更新数据库,但我不知道怎么做。
发布于 2018-01-13 20:33:31
在您的代码中,您有以下内容
<input type="radio" value="No" name="<%=rs.getLong("id")%>" checked>No<br>
<input type="radio" value="Si" name="<%=rs.getLong("id")%>">Si<br>把它改成
<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_id和chk_id来以不同的方式识别它们,否则,在您的情况下,两者将具有相同的名称,并且您将无法识别它们的值。
,
您必须将表单发布到url,并且url应该映射到servlet。
数据库代码应该在servlet中,而不是jsp中。
在这种情况下,也可以通过将表单提交到同一个url,但这不是一个好主意。
您有onsubmit形式的refreshPage javascript方法。您可以通过ajax或通过页面回发到servlet来发布数据。
所以
https://stackoverflow.com/questions/48243946
复制相似问题