java web 下拉列表联动的实现
来源:互联网 发布:让手机不能安装软件 编辑:程序博客网 时间:2024/05/26 08:42
很多时候在界面布局时我们会用到下拉列表,单独的一个列表与数据库的交互很简单
<select> <option value="">--请选择--</option> <c:forEach items="${systemList}" var="st" > <option value="${st.systemKey}"> ${st.systemName} </option> </c:forEach></select>
其中systeList 是从后台传过来的数据
在web层的控制类中
List<copysystem> systemList = ProService.getSystemList();model.addAttribute("systemList", systemList);
其中ProService 是 service 层的接口IProService 的
因为在service层没有什么操作,所以service层只是个过渡,过渡到Dao层
Dao层就是对数据库进行连接和查询,查询数据。
public List<copysystem> getSystemList() { StringBuffer sql = new StringBuffer(""); sql.append("SELECT systemKey,systemName FROM xl_system"); return query(sql.toString(), new SystemrowMapper());}public class SystemrowMapper implements ParameterizedRowMapper<copysystem>{@Override public copysystem mapRow(ResultSet rs, int rowNum) throws SQLException {copysystem sys = new copysystem();sys.setSystemKey(rs.getString("systemKey"));sys.setSystemName(rs.getString("systemName"));return sys; }}
今天要记录的是当有多个下拉列表联动时,该怎样获取数据,即选择第一个下拉列表的值,动态的改变第二个下拉列表乃至更多列表的值。
那么 第一个下拉列表
<select id="search_systemKey"onchange="getmodule()" name="search_systemKey" class="input-medium"> <option value="">--请选择--</option> <c:forEach items="${systemList}" var="st" > <option value="${st.systemKey}"> ${st.systemName} </option></c:forEach></select>第二个下拉列表
<select id="search_moduleKey" name="search_moduleKey" class="input-medium"> <option value="">--请选择--</option></select>其中
onchange 在元素值改变时触发。
onchange 属性适用于:<input>、<textarea> 以及 <select> 元素。
所以当元素值改变时,触发onchange事件,调用getmodule方法<script type="text/javascript"> function getmodule() { var systemKey=$("#search_systemKey").val(); //获得第一个列表元素的主键var obj=document.getElementById("search_moduleKey");//回去id为。。的html元素$.ajax({ type : 'GET', contentType : 'application/json', url : '/xiaolian/product/getmodule?systemKey='+systemKey, //调用后台控制类的方法 dataType : 'json', success : function(data) { obj.options.length=0;$.each(data.moduleList,function(i,item) { obj.options.add(new Option(item.moduleName,item.moduleKey)); }); } }); }</script>AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。
后面会看看大神关于AJAX的博客,然后复制过来
发现忘了写一个重要的方法,就是getmodel()
我们在web层写这个方法
public Map<String, Object> getmodel(String id,ServletResponse response){ List<SpePractices> speBeans = ResMngService.SpePracticesList(id); Gson gson = new Gson(); try { response.getWriter().print(gson.toJson(speBeans));} catch (IOException e) { e.printStackTrace();}return null;}
也可以这样写@RequestMapping("getmodule")@ResponseBodypublic Map<String, Object> getmodule(String systemKey){ Map<String, Object> modelMap = new HashMap<String, Object>(); List<copymodule> moduleList = ProService.getModuleListBysystem(systemKey); modelMap.put("moduleList",moduleList); return modelMap;}这样写和架构有关
阅读全文
0 0
- java web 下拉列表联动的实现
- JQuery实现下拉列表的联动
- DWR 实现联动下拉列表
- JS实现下拉列表联动
- AJAX省市区三级联动下拉列表实现 JAVA开发
- AJAX省市区三级联动下拉列表实现 JAVA开发
- Java下拉列表联动的实现(从数据库读取数据)
- select下拉列表的联动
- 下拉列表的二级联动
- struts+dwr实现下拉列表的二级联动
- 使用each方法实现简单的下拉列表联动
- 关于省市区的下拉列表联动实现(JS+AJAX)
- 多级联动下拉列表Ajax方案实现
- 下拉列表三级联动-----三维数组实现
- jquery ajax实现下拉列表联动
- JSP+AJAX实现下拉列表联动
- Android开发实现二级联动下拉列表
- yii 下拉列表多级联动 dropDownList 实现
- 一文读懂AlphaGo背后的强化学习:它的背景知识与贝尔曼方程的原理
- AT&T汇编学习总结-1
- AI一分钟 | 阿里NLP技术连破两项世界纪录,玉泉一号AI试验卫星明年发射
- Codeforces Round #447 (Div. 2) E. Ralph and Mushrooms
- Ubuntu16.04下安装Python3的VIM IDE
- java web 下拉列表联动的实现
- 常用插接件2(DC 电源插头)
- 数字图像处理matlab版第三章
- Spring boot之数据访问及mybatis整合(三)
- 给定m * n乘法表的高度m和长度n以及正整数k,则需要返回此表中第k个最小的数字。
- npm安装webpack
- 欢迎使用CSDN-markdown编辑器
- Mysql知识回顾(二)
- AOP示例-xml方式与annotation方式