/* 数据替换 */
function update(){
$.ajax({
url:"<%=request.getContextPath()%>/update.do",
dataType:'json',
type:'post',
data:$("#fengefuselect").serialize(),
success:function(data){
//获取到文本的分隔符 用于分割文本 进行比较;
var fruit = $("#fruit_fuhao").val();
//alert(fruit);
//清空table5 再填充
$("#table5").empty();
var q = 0;
var arep = 0;
//向table5中添加th
$("#table5").append("<tr><th>ID</th><th>WORDS</th><th>AfterReplace</th></tr>");
for(var i=0;i<data.length;i++){
var words = data[i].words;
var newwords = data[i].newwords.substring(1);
/* var wordsplit = words.split(";");
var newwordsplit = newwords.split(";");
var wordlen = words.split(";").length; */
var wordsplit = words.split(fruit);
var newwordsplit = newwords.split(fruit);
var wordlen = words.split(fruit).length;
// alert(newwords+newwordsplit.length+"::"+wordlen);
//将替换过的放在table里展示
//在table5中添加tr td td中放替换过的数据
$("#table5").append("<tr id='"+i+"'></tr>");
//通过变量的id来获取元素标签 向其中添加数据
$("#"+i).append("<td style='width:30px'>"+data[i].id+"</td>");
$("#"+i).append("<td id='b"+i+"'></td>");
$("#"+i).append("<td id='c"+i+"'></td>");
for(var j=0;j<wordlen;j++){
//通过比较相同index的值 如果不相等 说明进行过替换 填充到标签里 加颜色 q的数字代表一种颜色 数字不同 标签的id不同
if(wordsplit[j]!=newwordsplit[j]&& q == 0 ){
$("#"+"b"+i).append("<span id='split2'>"+wordsplit[j]+" </span>");
$("#"+"c"+i).append("<span id='split3'>"+newwordsplit[j]+" </span>");
//每进行一次让q加一
q++;
arep++;
}else if(wordsplit[j]!=newwordsplit[j]&& q == 1 ){
$("#"+"b"+i).append("<span id='split22'>"+wordsplit[j]+" </span>");
$("#"+"c"+i).append("<span id='split33'>"+newwordsplit[j]+" </span>");
q++;
arep++;
}else if(wordsplit[j]!=newwordsplit[j]&& q > 1 ){
$("#"+"b"+i).append("<span id='split222'>"+wordsplit[j]+" </span>");
$("#"+"c"+i).append("<span id='split333'>"+newwordsplit[j]+" </span>");
//三个为一个循环
q=0;
arep++;
}else if(wordsplit[j]==newwordsplit[j]&& q == 0 ){
$("#"+"b"+i).append("<span id='splitsa2'>"+wordsplit[j]+" </span>");
$("#"+"c"+i).append("<span id='splitsa3'>"+newwordsplit[j]+" </span>");
}else if(wordsplit[j]==newwordsplit[j]&& q == 1 ){
$("#"+"b"+i).append("<span id='splitsa2'>"+wordsplit[j]+" </span>");
$("#"+"c"+i).append("<span id='splitsa3'>"+newwordsplit[j]+" </span>");
}else{
$("#"+"b"+i).append("<span id='splitsa2'>"+wordsplit[j]+" </span>");
$("#"+"c"+i).append("<span id='splitsa3'>"+newwordsplit[j]+" </span>");
}
}
}
/*
$.ajax({
});
*/
//alert(arep);
//alert(data.length);
$("#countWord").empty();
$("#countReplWord").empty();
$("#countWord").append(data.length);
$("#countReplWord").append(arep);
}
});
//设置弹框的左 上边距 并显示
$("#updata_all").css({'left':($(window).width()-1248)/2, 'top':$(document).scrollTop()+($(window).height()-600)/2});
$("#updata_all").slideDown();
}
/** * 替换数据根据替换关系 * @param req * @param res * @param map * @throws IOException */ @RequestMapping("update.do") public void selectAllWord(HttpServletRequest req,HttpServletResponse res,String fruit,ModelMap map) throws IOException{ System.out.println(fruit+"是选择的分隔符"); List<RelationWord> rws = wordsService.selectFromRelationS(); //内层循环的次数 int size = rws.size(); List<AllWords> selectAllWordss = wordsService.selectAllWordss(); //外层循环的次数 int count=0; int k = selectAllWordss.size(); String wordAfter = null; for(int arr=0;arr<k;arr++){ String words = fruit+selectAllWordss.get(arr).getWords()+fruit; String id = selectAllWordss.get(arr).getId(); for(int rr=0;rr<size;rr++){ String oldword = fruit+rws.get(rr).getOldword()+fruit; String newword = fruit+rws.get(rr).getNewword()+fruit; System.out.println("words="+words+","+"oldword="+oldword); //if判断 如果大于等于零 说明文本中存在替换关系 然后使用replace方法进行替换 if(words.indexOf(oldword)>=0){ wordAfter = words.replace(oldword, newword); int insertWordNewWords = wordsService.insertWordNewWords(wordAfter,id); //用于计算替换的次数 每替换一次 加一 count+=insertWordNewWords; words = wordAfter; System.out.println("替换一次:"+words); }else{ System.out.println("buxiangdeng:"+words); //将没有替换关系的更改到数据库 int qq = wordsService.insertWordNewWords(words,id); System.out.println(qq); } } //将更改后的字符串放到后面的字段中 } //查询总的数据条数 //int countFromWords = wordsService.selectCountFromWords(); //设置session 用于页面展示 req.getSession().setAttribute("fruit", fruit); System.out.println("更改了"+count+"条数据."); List<AllWords> selectAllWordss2 = wordsService.selectAllWordss(); try { JsonUtil.outputJsonArry(res, JSONArray.fromObject(selectAllWordss2)); } catch (IOException e) { e.printStackTrace(); } }
<div id="update_all_center" class="window_center" > <table id="table5" style="width:100%;" border="1" cellspacing="0" cellpadding="0" bordercolor="#bbbbbb"> <tr><td colspan="3" style="font-weight:bold;">替换之后</td></tr> <tr><th>编号</th><th>替换前</th><th>替换后 </th> </table><br> <button id="output_table" οnclick="outputtable()" style="border-radius: 5px;margin-left:42%">导出到Excel</button> <span style="margin-left:25%">共 <span id="countWord" style="color:#be3131;"></span> 条,替换 <font id="countReplWord" color="#be3131"></font> 条数据</span> </div>