在countrylogin.jsp
我正在尝试从<option value=<%rs.getInt(1);%>>
并将其发送到servlet页面countrylogin.java
<tr><th>COUNTRY LIST:</th>
<th><select name="sel3" >
<option>--SELECT--</option>
<% while(rs.next())
{ %>
<option value=<%rs.getInt(1);%>> <% out.println(rs.getString(2)); %></option>
<% } %>
</select></th></tr>
在countrylogin.java中:
我正在尝试使用getParameter()方法接收上一页中选择的选项,但我无法接收值!
Connection con=conn.connectionprovider.getDbConnection();
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("select * from country");
int select=Integer.parseInt(request.getParameter("sel3"));
System.out.println(select);
String username=request.getParameter("t1");
String password=request.getParameter("t2");
DateFormat dateformat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date fromdate=new Date();
System.out.println(dateformat.format(fromdate));
int s=st.executeUpdate("insert into " +
"countrylogin(cid,username,password,fromdate,status) " +
"values("+select+",'"+username+"','"+password+"', "+
""+dateformat.format(fromdate)+"','active')");
System.out.println("work...");
request.getRequestDispatcher("addcountrylogin.jsp").forward(request, response);
请帮帮忙?
答案 0 :(得分:0)
我没有测试它,但似乎不是
<option value=<%rs.getInt(1);%>>
你应该用
<option value="<%= rs.getInt(1) %>">
实际从数据库打印到HTML值。没有它你的选择看起来像
<option value=>foo</option>
<option value=>bar</option>
而不是
<option value="42">foo</option>
<option value="24">bar</option>
所以它的值将基于其内容,这意味着在第一种情况下,值将是foo
和bar
而不是42
和24
,这将导致异常
int select=Integer.parseInt(request.getParameter("sel3"));
也代替
<% out.println(rs.getString(2)); %>
你可以写
<%= rs.getString(2) %>