
后台可以把数据库查询到的数据放在一个数组或者是集合中,然后使用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() + "}")
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)