免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5356 | 回复: 14
打印 上一主题 下一主题

请教:jsp页面内实现动态下拉框!! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-07-03 16:27 |只看该作者 |倒序浏览
我想在网页中实现动态下拉框,具体如下:

有两个下拉框A和B,选择了A中的一项后,B自动把根据A的选项到数据库中查询的结果列出,供用户选择。

这个问题困了我好久!目前我只能用两个页面来解决,即第一个页面用表单提交A的选择后,在第二个被请求的页面内显示B下拉框,很繁琐,各位高手能否提供好的解决方案,在此先谢了!!

论坛徽章:
0
2 [报告]
发表于 2003-07-03 16:50 |只看该作者

请教:jsp页面内实现动态下拉框!!

比如该页叫做 list.jsp

开始 A 列表有东西, B 列表为空

选中 A 的一项后 ,自动转向到这个页面:

list.jsp?listb_id=2

list.jsp 根据 listb_id 做查询,把查询出来的内容列在列表 B 里

具体传什么参数,你自己再根据你的应用做决定。

论坛徽章:
0
3 [报告]
发表于 2003-07-03 16:51 |只看该作者

请教:jsp页面内实现动态下拉框!!

这是一个很经典的问题

基本解决方法有几个

1。你现在用的方法:
选择了A,转向页面。
你可以继续使用
但是可以考虑转向页面是本页面,可能感觉上会好一点


2。直接把所有数据预先写到页面里的javascript的数组中,再在选择A的时候改动B
这种方法适用于数据量比较少的情况,如果数据量大了就不行了

3。比较特殊的方法
在A选中之后,到服务器去下载一段动态script,在script里改动B的值

论坛徽章:
0
4 [报告]
发表于 2003-07-03 19:49 |只看该作者

请教:jsp页面内实现动态下拉框!!

我也考虑过转向本页面,可是有个问题:如果用表单的话,应该要在该页面上写上诸如:

String stepname = new String(request.getParameter("stepname")

的语句,可是这样的话,第一次打开此页面是,会引发NullPointer的例外!因为第一次打开时,此页面并没被任何页面请求,也就没有request对象啊。

那么应该怎么处理呢?

论坛徽章:
0
5 [报告]
发表于 2003-07-03 19:51 |只看该作者

请教:jsp页面内实现动态下拉框!!

呵呵

你判断他

  1. if(stepname ==null){
  2. stepname="DEFAULT";
  3. }

复制代码


DEFAULT改为你的A中的第一项!!

论坛徽章:
0
6 [报告]
发表于 2003-07-03 21:33 |只看该作者

请教:jsp页面内实现动态下拉框!!

还是不行啊!不知道是不是我理解错误,代码如下:

String[] runcardResult = new String [xr.getRuncard().length];  
String[] runcard2ISO = new String [runcardResult.length];  //转为ISO8859_1字符集的流程名
runcardResult = xr.getRuncard();
String runcard = new String (request.getParameter("runcard");//用于显示
if(runcard ==null){
    runcard=runcardResult[0];
    }

String runcardToQuery = new String (runcard.getBytes("8859_1");//用于查询

String[] stepnameResult = new String [xr.getStepname(runcardToQuery).length];  //流程名
String[] stepname2ISO = new String [stepnameResult.length];  //转为ISO8859_1字符集的流程名
stepnameResult = xr.getStepname(runcardToQuery);
String stepname = new String(request.getParameter("stepname");//用于显示
if(stepname ==null){
stepname=stepnameResult[0];
    }



还是NullPointer例外!

论坛徽章:
0
7 [报告]
发表于 2003-07-03 21:34 |只看该作者

请教:jsp页面内实现动态下拉框!!

还是不行啊!不知道是不是我理解错误,代码如下:

String[] runcardResult = new String [xr.getRuncard().length];  
String[] runcard2ISO = new String [runcardResult.length];  //转为ISO8859_1字符集的流程名
runcardResult = xr.getRuncard();
String runcard = new String (request.getParameter("runcard");//用于显示
if(runcard ==null){
    runcard=runcardResult[0];
    }

String runcardToQuery = new String (runcard.getBytes("8859_1");//用于查询

String[] stepnameResult = new String [xr.getStepname(runcardToQuery).length];  //流程名
String[] stepname2ISO = new String [stepnameResult.length];  //转为ISO8859_1字符集的流程名
stepnameResult = xr.getStepname(runcardToQuery);
String stepname = new String(request.getParameter("stepname");//用于显示
if(stepname ==null){
stepname=stepnameResult[0];
    }



还是NullPointer例外!

论坛徽章:
0
8 [报告]
发表于 2003-07-04 09:40 |只看该作者

请教:jsp页面内实现动态下拉框!!

String stepname = new String(request.getParameter("stepname");//

--->;

String stepname =  request.getParameter("stepname");//

new String(null)是会有Exception的

论坛徽章:
0
9 [报告]
发表于 2003-07-04 18:53 |只看该作者

请教:jsp页面内实现动态下拉框!!

搞定了!!好高兴,多谢两位版主啦!!

论坛徽章:
0
10 [报告]
发表于 2003-07-07 10:32 |只看该作者

请教:jsp页面内实现动态下拉框!!

不用谢,有空多来走走!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP