老师,这个效果我做出来了,可是有个地方有遐思问下怎么改进
来源:2-8 自由编程
造梦大师
2019-05-10 21:47:17
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <div align="center"> <input style="width:200px" name="btn0" id="btn0" type="button" onclick="check(1)" value="员工列表" > <input style="width:200px" name="btn0" id="btn1" type="button" onclick="check(2)" value="职位列表"> <input style="width:200px" name="btn0" id="btn2" type="button" onclick="check(3)" value="部门列表"> </div> <div id="content" align="center"></div> <script type="text/javascript" src="js/jquery-3.3.1.js"></script> <script type="text/javascript"> if(window.XMLHttpRequest){ xmlhttp=new XMLHttpRequest(); }else{ xmlhttp=new ActiveXObject("Microsoft.XMLHttp"); } function check(flag){ xmlhttp.open("GET","/ajax/employee",true); xmlhttp.send(); xmlhttp.onreadystatechange=function(){ if(xmlhttp.readyState == 4 && xmlhttp.status ==200){ var text =xmlhttp.responseText; console.log(text); var json =JSON.parse(text); console.log(json); var html=""; for(var i =0 ;i<json.length;i++){ if(flag ==1 ){ html=html + json[i].name +"<br/>"; }else if(flag == 2){ html=html + json[i].position +"<br/>"; }else if(flag == 3){ html=html + json[i].department +"<br/>"; } } document.getElementById("content").innerHTML = html; } } } </script> </body> </html>
员工职位这个地方有重复的怎么去掉
3回答
同学你好,看同学取出json时的结构,json中存储的集合中的对象应该是有name、position和department三个属性。如果是那样的话在前端就不好加以判断了,可以在后端Servlet中,为每个属性创建一个Set,遍历这个list,放入Set时会自动去重。最后json返回要展示的Set即可:
List<Person> list = new ArrayList<>(); HashSet<String> nameSet=new HashSet<>(); HashSet<String> positionSet=new HashSet<>(); HashSet<String> departSet=new HashSet<>(); //在String类中重写了hashCode和equals方法 //在add内部实现的去重的功能,默认调用的是字符串的hashCode和equals方法,实现去重 for (Person person : list) { nameSet.add(person.name); positionSet.add(person.position); departSet.add(person.department); }
如果解答了同学的疑问,望采纳~
祝学习愉快~
造梦大师
提问者
2019-05-11
老师您好,我问的是如何在html添加职位信息时判断是否有重复的元素,如果有就删除?
芝芝兰兰
2019-05-11
同学你好。在页面中如需删除元素和内容,一般可使用以下两个 jQuery 方法:
1、remove() - 删除被选元素(及其子元素)
2、empty() - 从被选元素中删除子元素
在这里同学可以使用empty()来清空content其中的元素,在同学的代码中将html赋值为“”时,也把content原有的内容清空:
var html=""; $("#content").empty();
如果解答了同学的疑问,望采纳~
祝学习愉快~
相似问题