|
|
|
@ -49,7 +49,7 @@ public class PluginTask<T> extends Task<T> {
|
|
|
|
|
@Override |
|
|
|
|
public void process(String s) { |
|
|
|
|
if (StringUtils.isNotBlank(s)) { |
|
|
|
|
updateMessage(changText(s)); |
|
|
|
|
updateMessage(trimText(s)); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
@ -59,20 +59,28 @@ public class PluginTask<T> extends Task<T> {
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
protected void done() { |
|
|
|
|
updateMessage(changText(executor.getTaskFinishMessage())); |
|
|
|
|
updateMessage(trimText(executor.getTaskFinishMessage())); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 转换掉一些会造成错误的特殊字符 |
|
|
|
|
* 1 ""中的""必须转义 |
|
|
|
|
* 2 js字符串中的\n会导致js字符串变成多行,而js字符创不支持多行拼接 |
|
|
|
|
* vito:由于使用webEngine.executeScript("(" + callback + ")(\"" + newValue + "\")") |
|
|
|
|
* 执行脚本,所以原来规范的json格式也会在拼接字符串后可能抛出参数异常,需要转换掉一些会造成错误的特殊字符, |
|
|
|
|
* 选择在java端替换的原因是异常抛出自executeScript方法的参数,现在规范和拼接的json都能通过了, |
|
|
|
|
* 但是强烈建议不要使用拼接json |
|
|
|
|
* <p> |
|
|
|
|
* 1.""中的""必须转义 |
|
|
|
|
* 2.js字符串中的\n会导致js字符串变成多行,而js字符串不支持多行拼接 |
|
|
|
|
* 3.由JSONObject.toString()得到的字符串中html标签的属性会自动加上\造成替换难度加大, |
|
|
|
|
* 这边建议去除所有的html标签 |
|
|
|
|
* |
|
|
|
|
* @param old 原始字符串 |
|
|
|
|
* @return 处理之后的字符串 |
|
|
|
|
*/ |
|
|
|
|
private String changText(String old) { |
|
|
|
|
if(StringUtils.isNotBlank(old)){ |
|
|
|
|
return old.replaceAll("\"", "\\\\\"").replaceAll("\n", ""); |
|
|
|
|
private String trimText(String old) { |
|
|
|
|
if (StringUtils.isNotBlank(old)) { |
|
|
|
|
String a = old.replaceAll("\n", "").replaceAll("\"", "\\\\\"").replaceAll("\'", "\\\\\'"); |
|
|
|
|
System.out.println(a); |
|
|
|
|
return a; |
|
|
|
|
} |
|
|
|
|
return StringUtils.EMPTY; |
|
|
|
|
} |
|
|
|
|