【发布时间】:2011-03-29 20:49:42
【问题描述】:
我有一个 JSP 页面,上面有一个单选按钮,可以选择男性或女性。
当我单击单选按钮时,该特定条目不会提交到我的数据库中。
我应该如何将该值存储在数据库中?
【问题讨论】:
-
您应该提供更多信息:您尝试过什么,您预计会发生什么以及发生了什么?如果有错误消息,那是什么?等
我有一个 JSP 页面,上面有一个单选按钮,可以选择男性或女性。
当我单击单选按钮时,该特定条目不会提交到我的数据库中。
我应该如何将该值存储在数据库中?
【问题讨论】:
您的问题过于笼统。在“单击单选按钮”和“在数据库中提交”之间需要发生很多事情。您没有具体说明哪个步骤完全失败。如果您自己努力确定失败的确切步骤,那就太好了。这样我们可以更快地提供一个非常合适的答案。您可以使用 Firebug 或 Fiddler2 来跟踪 HTTP 请求/响应。您可以使用 IDE 内置调试器逐步跟踪 Java 代码的代码执行以及当前在作用域/内存中的所有变量。您可以使用 Java 端的记录器和/或 DB 端的 SQL 监视器来跟踪 SQL 查询。
无论如何,这里有一个启动示例,说明事情应该如何以最简单的形式发生,以便您可以将其与您的设置进行比较并确定问题。
在您的User 表中有一个可以为空的gender 列,它接受一组值M 或F(代表男性或女性)。
在您的 JSP 中有一个允许用户选择的表单。
<form action="servleturl" method="post">
...
<br />
<input type="radio" name="gender" value="M" /> Male
<br />
<input type="radio" name="gender" value="F" /> Female
<br />
<input type="submit" />
</form>
有一个 servlet 监听 /servleturl 并在 doPost() 中收集提交的值。
// ...
String gender = request.getParameter("gender");
// ...
有一个执行以下操作的 DAO 类:
// ...
preparedStatement = connection.prepareStatement("INSERT INTO User (col1, col2, col3, gender) VALUES (?, ?, ?, ?)");
// ...
preparedStatement.setString(4, gender);
// ...
preparedStatement.executeUpdate();
// ...
【讨论】: