request.getParameter()中没有获取到值

.jsp:
<tr>
<td width="30%" align="right">领取人(单位)</td>
<td width="70%" align="left"><input type="text" id="classname" name="classname" />
<a href="/bookmanage/ClassOperServlet?sign=6">查询</a><font size="-2" color="#CC33FF">*查询班级人数</font></td>
</tr>

.servlet:
......
case 6://select snumber
response.setCharacterEncoding("utf-8");
//Connection conn = null;
conn = DBConn.getConn();
userForm = new UserForm();
String snumber=null;
String classname=request.getParameter("classname");获取不到值
System.out.println(classname);
String sql = "select * from classes where classname = '"+classname+"'";
Statement state = (Statement) conn.createStatement();
.............
想了半天还是没想明白哪错了

你的代码只可以获取sign=6 request.getParameter("sign"); 但classname是获取不到的。
因为你用的a标签不是form表单。不过你可以改下代码用JS 例如: <a href="/bookmanage/ClassOperServlet?sign=6">查询</a> <a href=‘#’ onclik="xs()">查询</a>
<script type="text/javascript">
function xs() {
var classname=document.getElementById('classname').value
var url = '/bookmanage/ClassOperServlet?sign=6?sign=' + id+'&classname'+classname;
openWin(url, 'addywlx', 1040, 690);
}
</script >
这样是可以的
//弹出窗口
function openWin(f,n,w,h,s){
sb = s == "1" ? "1" : "0";
l = (screen.width - w)/2;
t = (screen.height - h)/2;
sFeatures = "left="+ l +",top="+ t +",height="+ h +",width="+ w
+ ",center=1,scrollbars=" + sb + ",status=0,directories=0,channelmode=0,resizable=yes";
openwin = window.open(f , n , sFeatures );
if (!openwin.opener)
openwin.opener = self;
openwin.focus();
return openwin;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-04-01
input标签里面的内容要靠表单来传也就是form。你这样子只是把sign=6给传过去了。

<form action="xxx" method="post">
<input type="text" id="classname" name="classname" />

<input type="submit" value="ok" />

</form>
相似回答