jsp:javascript中如何动态获取数据库的数组

 我来答

jsp:javascript中如何动态获取数据库的数组

<divalign="center"><form><inputid="auto"name="p_id"type="text">//从这里获取p_id的值</form></... <div align="center">
<form>
<input id="auto" name="p_id" type="text">//从这里获取p_id的值
</form>
</div>
<%
String p_id=request.getParameter("p_id");
List mylist=new ArrayList();
ConnDB conn=new ConnDB();
String sql="select p_name from product where p_id like '%"+p_id+"%'";
ResultSet rs=conn.doQuery(sql);
while(rs.next())
{
mylist.add(rs.getString("p_name"));
}
String arr="";
for (int i=0;i<mylist.size();i++)
{
arr=arr+mylist.get(i)+",";
}
arr=arr.substring(0,arr.length()-1);
%>
<SCRIPT LANGUAGE="JavaScript">
<!--
//var jsAutoInstance = new jsAuto("jsAutoInstance","divc");
var ar=new Array[<%=arr %>];
</script>
<%
for(var i=0;i<ar.length;i++)
{%>
<SCRIPT LANGUAGE="JavaScript">
。。。。。
}
我的意思就是,在Jsp页面一个文本框,根据输入的字段,模糊查询出与其关联的数据,然后再文本框自动的列出来,类似于在百度搜索栏。。请高手帮帮忙啊,在线等
展开
 我来答
拿破仑哈哈
2013-01-11 · TA获得超过136个赞
知道小有建树答主
回答量:69
采纳率:0%
帮助的人:45.7万
展开全部
这是一种“文本智能提示”技术,很多js框架都提供此功能。
针对你的这种情况给如下建议:
(1)目前来看,凡是你想到的可以复用的插件,网上基本上都可以搜索到,不要自己重复造车;
(2)如果你智能提示的文本是有范围的,例如:省份等常用文本,那么就可以使用该技术,使用时一次性将该所有省份信息加载到前端;如果你的文本范围是动态的,而且是数据量挺大,建议不要使用该功能。
像楼上两位哥们说的,onchange事件触发一次就向后台查一次数据库,这种方案技术上可行,在现实中基本上是不可行的,你能想象当用户输入一次文本就“被卡”的情景么,我要是用户我会发疯的。
神话ZXCV
2013-01-11 · 超过33用户采纳过TA的回答
知道答主
回答量:111
采纳率:0%
帮助的人:63.5万
展开全部
你这样把java代码写在jsp页面上面看着眼睛疼,现在都不在jsp页面写java代码了,把它分离开呀.
你说的那个功能,给你讲一下思路,顺着思路学一下,写出来,肯定有收获的.
在jsp文本框输入,给它一个onchange事件,当它改变的时候触发一个方法,方法里面有一个ajax,通过它把jsp文本框里面的值传到后台,然后再在后台写一个模糊查询的sql,查询数据库,把得到的结果通过ajax返回到页面上,并且把它写到页面上就ok了.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我是北堂风
2013-01-11 · TA获得超过594个赞
知道小有建树答主
回答量:657
采纳率:0%
帮助的人:274万
展开全部
楼上正解。要实现这种效果就要用ajax,至于你使用js写,还是用jquery等框架就随便了你。不过看你这种代码风格应该是新手吧,这样的源代码看起来太晕了。好好看一下ajax吧,基本应用不难的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式