数据的替换

/* 数据替换    */
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]+"&nbsp;</span>");
    $("#"+"c"+i).append("<span id='split3'>"+newwordsplit[j]+"&nbsp;</span>");
    //每进行一次让q加一
    q++;
    arep++;
    }else if(wordsplit[j]!=newwordsplit[j]&&  q == 1 ){
    $("#"+"b"+i).append("<span id='split22'>"+wordsplit[j]+"&nbsp;</span>");
    $("#"+"c"+i).append("<span id='split33'>"+newwordsplit[j]+"&nbsp;</span>");
    q++;
    arep++;
    }else if(wordsplit[j]!=newwordsplit[j]&&  q > 1 ){
    $("#"+"b"+i).append("<span id='split222'>"+wordsplit[j]+"&nbsp;</span>");
    $("#"+"c"+i).append("<span id='split333'>"+newwordsplit[j]+"&nbsp;</span>");
    //三个为一个循环
    q=0;
    arep++;
    }else if(wordsplit[j]==newwordsplit[j]&&  q == 0 ){
    $("#"+"b"+i).append("<span id='splitsa2'>"+wordsplit[j]+"&nbsp;</span>");
    $("#"+"c"+i).append("<span id='splitsa3'>"+newwordsplit[j]+"&nbsp;</span>");
    }else if(wordsplit[j]==newwordsplit[j]&&  q == 1 ){
    $("#"+"b"+i).append("<span id='splitsa2'>"+wordsplit[j]+"&nbsp;</span>");
    $("#"+"c"+i).append("<span id='splitsa3'>"+newwordsplit[j]+"&nbsp;</span>");
    }else{
    $("#"+"b"+i).append("<span id='splitsa2'>"+wordsplit[j]+"&nbsp;</span>");
    $("#"+"c"+i).append("<span id='splitsa3'>"+newwordsplit[j]+"&nbsp;</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>替换后&nbsp;</th>
</table><br>
<button id="output_table" onclick="outputtable()" style="border-radius: 5px;margin-left:42%">导出到Excel</button>
<span style="margin-left:25%">共&nbsp;<span id="countWord" style="color:#be3131;"></span>&nbsp;条,替换&nbsp;
<font id="countReplWord" color="#be3131"></font>&nbsp;条数据</span>
</div>

猜你喜欢

转载自blog.csdn.net/yuanjianqiang_0925/article/details/76850892