JSP+MySQL 犯的那些坑
特此记录,希望以后不再犯。
(一) jsp+mysql
1、关于 form表单 或a标签id传值接收不到:
情景如下
1:
<a href="update.jsp?id=<%= rs.getString("id") %>"> 修改</a></td>
2:
<form name="reg " action="doupdate.jsp?id=<%=a%>" method="get"" >
解决方案:
1: 关于a 标签
<a href=“update.jsp?id=<%= rs.getString(“id”) %>”> 修改
a标签在传值时 ,要把?id=1 放在 href=“” 里面
2: form 表单的action 传值也是一样,?id=放在 action=“” 里面
3: form 表单要传值,method必须为 post ;method='GET’的时候是接收不到的
2、关于 分页ResultSet指针不移动的问题:
解决方案:
在prepareStatement方法里加入
ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY
即可
PreparedStatement ps = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet rs = ps.executeQuery();
但是!! 我加上之后出现如下问题:
ResultSet指针开始移动了,但每页都是同一值。
第一页:
第二页:
而我数据库是:
就很纳闷。
最后发现是在写table标签时:应该写成这样:
<td><%=rs.getString("id")%></td>
<td><%=rs.getString("title")%></td>
<td><%=rs.getString("content")%></td>
而我写的是:
<td><%=a%></td>
<td><%=b%></td>
<td><%=c%></td>
在jsp 代码块里 我写的是:
String a = rs.getString("id");
String b= rs.getString("title");
String c= rs.getString("content");
就直接把每一行的数据给固定了。
所以每一页数出来的值都是一样的。
(二)JavaBean:
运行结果出现乱码:
加入如下代码即可。
<%
request.setCharacterEncoding("utf-8");
%>
目前就先这些了,诸位看官请食用。
CodeSheep · 程序羊 曾经说过:
知识在于出 而不是进。