如何将下拉菜单的数据从数据库中读取出来

如何将下拉菜单的数据从数据库中读取出来,第1张

首先你得从后台获取德奥数据库的内容,然后转发到jsp页面,通过jstl或者el来读取后台传入过来的内容。

后台可以把数据库查询到的数据放在一个数组或者是集合中,然后使用request.getRequestDispatcher.forward()把数据或者集合传到前台的下拉菜单的页面中,再在前台下拉菜单页面中使用<select><c:foreach><option value='xxx'>来遍历后台传出来的数据或者集合的内容

后台很容易实现,至于前台页面如果你不会jstl和el 的话可以上网看下对应用法,基本认真看的话2个小时就可以掌握基础了

一般情况下是前端通过调取后端接口,来获取到数据库的数据,后端哪里会把数据库的数据整理成一般是json形式的数据,前端获取到数据后,写上select标签,用v-for来循环option标签,然后点击下拉框就能看到下拉框中的数据选项了。点击下拉框再去过去数据的话交互不好。还有一种是元数据库的 *** 作,据说是前端直接调用数据库,不过用的不多。

jsp页面可以利用Ajax来获取数据库数据来:

在第一级列表的onchange事件中编写:

//投诉信息来源信息级联

function getTsFromDescribe(ts_describe){

var tsfrom = $("#t_tsfrom").val()

var tstsFrom = $("#ts_tsFrom").val()

Ext.Ajax.request( {

url : '${ctx}/complaints/complaints!getTsFrom.action',

params : {

tsfrom : tsfrom//通过json形式将前台每次获取到的值传递给后台

},

success : function(response) {

var json = Ext.util.JSON.decode(response.responseText)

if (json.success) {

var data = json.<strong>cmList</strong>

if ("" == data) {

alert("请选择投诉类型")

inputForm.t_tsfrom.focus()

$("#ts_tsFrom").empty()//每次需要将上一次的数据进行清空

} else {

$("#ts_tsFrom").empty()

//对获取到的数据进行迭代

for ( var i = 0i <data.lengthi++) {

var id = data[i]

var name = data[i]

$("#ts_tsFrom").append(

"<option value='" + id + "'>" + name + "</option>")

}

dwr.util.removeAllOptions('tstsFrom')

dwr.util.addOptions('tstsFrom', data)

}

}

}

})

}

后台返回数据:

public void getTsFrom() throws Exception {

HttpServletResponse response = ServletActionContext.getResponse()

String ts_names = tsfrom

List<CustomManage>list = complaintsmanager.getTsDescribe(ts_names)

response.setContentType("text/javascript")// 后台控制的代码

PrintWriter writer = response.getWriter()

// 将得到的list集合转为JSON对象传给前台处理

JSONArray j = JSONArray.fromObject(list)

writer.println("{'success':true,'<strong>cmList</strong>':" + j.toString() + "}")

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9983274.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存