在JSP中如何将下拉菜单的选项与数据库对比,跳转到相应页面

登录页是这样的:<option value="none" selected="selected">请选择</option>
<option value="一">1</option>
<option value="二">2</option>
<option value="三">3</option>
<option value="四">3</option>
我再建一个验证页action.jsp
String name = request.getParameter("name");
String password = request.getParameter("password");
用String select=(String)request.getParameter("select");获取选项值,
用String sql = "select * from 用户表 where 密码='"+ password + "' and 用户名='" + name +"' "; 获取Access数据库的用户名与密码
如果我只验证用户名、密码的话,可以成功
if(RsLoginCheck.next()) out.print("登录成功!!!");
但我想根据下拉选项的值与数据库的用户类型对比,如果一致则跳转到相应页面
于是我改为:
String sql = "select * from 用户表 where 密码='"+ password + "' and 用户名='" + name +"' and 用户类型='" + select +"'"; 获取Access数据库的用户名与密码与类型
再验证:
if(RsLoginCheck.next())
{
switch(select)
{
case "一":
response.sendRedirect("1.html");
break;
case "二":
response.sendRedirect("2.html");
break;
case "三":
response.sendRedirect("3.html");
break;
case "四":
response.sendRedirect("4.html");
break;
}
}

else
{
out.print("用户名或密码错误!!!");
}
%>
结果出错了。
我再把switch语句换为:
if("一".equals(select))
{
response.sendRedirect("1.html");
}
else if("二".equals(select))
{
response.sendRedirect("2.html");
}
else if("三".equals(select))
{
response.sendRedirect("3.html");
}
else
{
response.sendRedirect("4.html");
}
还是出错了!
哪位大神帮帮我?都搞了好几天了!越详细越好。改一下我的关键代码,或者重写一个,急急急!
谢谢大家!

Page.Navigate("1.html");
用这试试,直接看上去没有问题的,有提示什麼错误信息了?追问

我不是有个判断语句if(RsLoginCheck.next())吗?
下面还有
else
{
out.print("用户名或密码错误!!!");
}
我没验证下拉列表前能正常跳转,但验证下拉列表后,虽然用户名、密码、类型都正确,但只能显示用户名或密码错误!!!
因此我推测下拉列表的验证出问题了。能帮我改改吗?真的很急啊!

追答

if(RsLoginCheck.next())
{

增加System.out.println(select);
看一下是什麼值

switch(select)
{
case "一":
response.sendRedirect("1.html");
break;
case "二":
response.sendRedirect("2.html");
break;
case "三":
response.sendRedirect("3.html");
break;
case "四":
response.sendRedirect("4.html");
break;
}
}

追问

我把value="一"换成value="1",value="二"换成value="2",value="三",换成value="3",value="四"换成value="4",再把数据库用户表的类型相应换为1、2、3、4,成功了。原来真的是中文问题。唉,在网上找了半天处理中文问题,改回去,再一一尝试,还是出错!
那只能用英文和数字了。

追答

如果是中文,建议转义一下....
不知道.net是怎麼转义...

温馨提示:内容为网友见解,仅供参考
无其他回答

JSP下拉列表与数据库的连接
你说的是二级以上联动吗,如果你想用静态联动的话,用ajax可以实现用javascript把不前列表里选中的记录获取出来通过ajax技术传给你的动态页面,动态页面到数据库中把记录查出来在返回给这个静态页面就一级的话直接把数据库的记录输出到下拉列表里就可以了 ...

JSP中怎样将数据库中的数据显示在网页的下拉菜单中
把里面的数据库和需要跳转的页面改一下就OK了

jsp页面中如何设置下拉菜单
要使用下拉菜单,用户只需从列表中选择一个选项。在服务器端,可以获取用户选择的值,然后根据这些值执行相应的操作或处理逻辑。这通常涉及从数据库或其他数据源检索相关信息,并根据用户的选择显示或操作数据。在JSP中,你可以使用``标签将用户选择的值传递给服务器端的Java代码。例如:jsp 在Java代码中...

JSP 下拉菜单怎么链接到另一个页面?
你的select标签应该是嵌套在form标签里的 使用form的提交表单就行了 直接跳也可以 不过那就需要使用javascript

如何将下拉菜单的数据从数据库中读取出来
首先你得从后台获取德奥数据库的内容,然后转发到jsp页面,通过jstl或者el来读取后台传入过来的内容。后台可以把数据库查询到的数据放在一个数组或者是集合中,然后使用request.getRequestDispatcher.forward()把数据或者集合传到前台的下拉菜单的页面中,再在前台下拉菜单页面中使用<c:foreach>来遍历后台...

jsp做级联下拉菜单
(这里有两个下拉菜单. 1:所有省 2:省下的区县市)操作: 先把所有的省级单位查出来 显示到第一个下拉菜单中 在第一个下来菜单的onchange事件中 通过选择省份的ID 去查询(通过ajax查询并且返回该ID下的区县)把返回的区县在页面中遍历 显示到第二个下拉菜单中 关键 : 会使用ajax ...

jsp如何在文本框里输入 下拉菜单会根据文本框里的输入来模糊查询匹配...
根据文本框值的使用ajax获取相关结果并赋值给下拉框,.net是有相关组件的,html的话得自己写

请问jsp在servelet中如何取得提交页面中下拉菜单的select中的value和o...
request.getParameter("category");但是只能获取到value的值,不能获取到你显示的信息!!LZ要是想两者都要获取的话~可以通过查询数据库,把数据库中对应的表的id作为value的值

JSP中如何只在一个表单里获得下拉菜单的值?只需要用这个值去做判断,不...
你说的不具体,没法具体回答,不知道你要在哪、怎么做判断。jsp页面 里,function change() { var 变量名 = document.getElementById("下拉框的id").value;} 这样每次改变都能获取

java:我想在jsp里用下拉框实现一个树形菜单,菜单的值数据库获取,假设值...
如果页面有用ext或easyui的话,他们有自带的控件。如果没有的话,可以用dTree,这个挺方便的。当然自己写一个控件也行,就是麻烦点。

相似回答