jsp如何将数据库中的内容显示到下拉列表中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jsp如何将数据库中的内容显示到下拉列表中相关的知识,希望对你有一定的参考价值。

参考技术A 就JSP+Servlet的做法来谈:
用Javabean(只包含若干个属性以及Setter和getter方法的类)来封装所要提取的数据(javabean里一个属性对应数据库里的一个字段),此层可被称为M层,用一个类专门做数据库连接再用一个类专门做数据库数据提取此层被称作DAO层它也属于M层,最后用一个Servlet类把取出来并封装好的数据填充进request或session对象里,此Servlet称为C层,最后只需要在JSP页面指定的html标签里用一个循环从request或session中取出已封装好的数据对象,再用一个循环遍历这个对象的所有属性就可以了,这个JSP页面就被称作V层。所谓不能在页面上操作数据库的意思是只能在JSP页面通过request对象提取并显示数据,而不能用JDBC做数据库连接和从数据库提取数据的操作。

JSP页面中在文本框中输入内容,动态从数据库模糊查询显示到下拉框中。

谁有类似的小例子,简单的哈,发到ms_private@163.com,谢谢
<div class="combobx">
<INPUT id="gysSel" size="10" type="text" name="p_id"><br/>

<select onchange="document.getElementById('gysSel').value=this.value;" style="background:#F0F5F9;margin:-2px">
<option value=""></option>
<%

ConnDB conn=new ConnDB();
String pid=request.getParameter("p_id");
String sql = "SELECT distinct(p_id) FROM product where p_id='%"+pid+"%'";
ResultSet rs2 = conn.doQuery(sql);

while(rs2.next())
%>
<option value="<%=rs2.getString(1) %>"><%=rs2.getString(1) %></option>
<% %>
</select>

</div>
谁能帮我看看啊

首先:要想到AJAX,
页面使用ajax调用后台action中的方法,
action中就是个一般的模糊查询方法,返回的是你要查询的list,当然,你也可以使用MAP或者别的,
等ajax回调后,填充到下拉列表中

大致思路是这样,另外你可以在百度上搜个例子,
参考技术A 其实你可以先写一个空下拉,然后在select当keyup的时候,用ajax获取输入的内容,然后查询数据库,根据查出来的数据集可以重新给下拉菜单赋值的,就可以了, 参考技术B <input value="" id="param"/>
<select id="sele">

</select>
$("#param").click(

);
参考技术C 你补充的,我没有看出有什么问题,
在运行时会出错吗?追问

我的意思是想根据在文本框输入的P_id的值,进行模糊查询,可是出不来结果,一旦我把String sql = "SELECT distinct(p_id) FROM product";中的 where p_id='%"+pid+"%'去掉就会出现结果

追答

p_id='%"+pid+"% 这是匹配查询

p_id like '%"+pid+"% 这是模糊,
刚才没看出来。

追问

哦,呵呵,就是like,,,我写错了,但依旧没结果啊

追答

那你看一下pid是值是什么吧,
没有出异常,也没有出值,只是能是SQL查询的问题了。
你把这个SQL语句打出来,看看是什么

参考技术D 利用ajax技术来实现吧

以上是关于jsp如何将数据库中的内容显示到下拉列表中的主要内容,如果未能解决你的问题,请参考以下文章

在servlet中怎样获取jsp中下拉列表中的值

如何将数据库中的特定值显示为第一个下拉列表选择选项

如何在jsp中使用下拉列表、文本框和搜索按钮获取数据

mfc如何用txt保存下拉框控件的内容?下拉框如何读入TXT中的内容到属性-数据中?

如何制作由文件中的行分隔的每个字符串的下拉列表

如何使用 Laravel 在下拉列表中显示数据库中的选定值?