老师,这个效果我做出来了,可是有个地方有遐思问下怎么改进
来源: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();如果解答了同学的疑问,望采纳~
祝学习愉快~
相似问题