JSP,javascript和数据库(兼谈动态关联下拉菜单)
首先声明,我不懂java,不会jsp,js,我是学delphi,c语言,搞unix的,所以后边如果有什么纰漏,请大家海涵。
前一段时间,由于项目需要,web界面要显示两个下拉菜单,两个相关联。描述:第一个菜单是类型,第二个菜单是子类型,当第一个菜单选择某个时,第二个菜单的菜单项要更为对应类型的子类型,类型、子类型(包括二者的关联关系)从数据库中查询获得。就是这个问题,web开发的人跟我说,很困难,要花一天时间研究研究。本着项目工期的考虑,我决定自己上手搞。
首先,根据我的理解,这种需求很普遍,所以google肯定会给我解决办法。我就以“动态 关联 下拉菜单 javascript”开始查找了,果然第一页,就有我要的,是关于如何实现关联菜单的。大致方法是:在第一个菜单的 onchange中写代码,改变时更改第二个菜单的菜单项。 虽然没有取数据部分,已经足以解决问题了。
在解决取数据前,先谈一下我对JSP,js和数据库三者直接关系的理解:jsp就是一个垃圾生成器,通过读取数据库生成一大堆的垃圾,这些垃圾作为一个大的“字符串”传给浏览器,浏览器得到“字符串”后,判断其中一部分是html,另一部分是js,在处理html的时候,看有没有预定义好的js要调用。注意:jsp生成的是字符串,不管是html还是js抑或其它的东西。头脑敏捷的人联系上一段应该想到方法了吧。
思路:在jsp中查询数据库,生成几个用来显示下拉菜单的字符串,每个字符串的内容就和js里初始化字符串数组的格式一样,然后在jsp里js部分的初始化字符串数组的地方,out刚才生成的那几个字符串。思路结束。
就是这么简单。有的时候就是这样,把jsp和js分离开看,看不透,把js看成jsp生成的字符串,两个就连起来了。(其实,jsp才不关心生成的字符串,用来做什么呢)
总结:
写代码不能局限于所写代码,应该站在更高的层次看问题。
懒是一种美德,但是头脑懒就是一种堕落。
思想比技术更重要。
其它:
不要向我要源代码,我不会jsp之类的东西。
也许我理解错了jsp,把它简单化了(像古老的cgi),但是简单有简单的好处,有助于理解。