当前位置: 首页 > news >正文

宝山网站建设哪家好在线html编辑器

宝山网站建设哪家好,在线html编辑器,wordpress category 404,列举五种常用的网站推广方法前情提要,看上一个文章,具体要实现的效果就是 当然上来的问题就是前端的问题,这个框首先他们用的是富文本,富文本传到后台的结果是前端脚本,带着h5的标签,后面改成了这个,当时这个东西其实和后…

前情提要,看上一个文章,具体要实现的效果就是
在这里插入图片描述
当然上来的问题就是前端的问题,这个框首先他们用的是富文本,富文本传到后台的结果是前端脚本,带着h5的标签,后面改成了这个,当时这个东西其实和后端关系不大,就是如何处理换行符而已,使用这个之后换行符变成了/n
其实我们也是比着普通规则新建的一个功能,不过有很多的自己的设计
他们的实现是这样的

     */@Overridepublic Object run(RunTestRequest runTestRequest) {log.info("模拟运行规则:{}", runTestRequest.getCode());RuleEngineGeneralRulePublish rulePublish = this.ruleEngineGeneralRulePublishManager.lambdaQuery().eq(RuleEngineGeneralRulePublish::getStatus, runTestRequest.getStatus()).eq(RuleEngineGeneralRulePublish::getGeneralRuleCode, runTestRequest.getCode()).eq(RuleEngineGeneralRulePublish::getWorkspaceCode, runTestRequest.getWorkspaceCode()).one();if (rulePublish == null) {// 如果测试找不到,用线上  此场景出现在只有一个线上的时候rulePublish = this.ruleEngineGeneralRulePublishManager.lambdaQuery().eq(RuleEngineGeneralRulePublish::getStatus, DataStatus.PRD.getStatus()).eq(RuleEngineGeneralRulePublish::getGeneralRuleCode, runTestRequest.getCode()).eq(RuleEngineGeneralRulePublish::getWorkspaceCode, runTestRequest.getWorkspaceCode()).one();if (rulePublish == null) {throw new ValidException("找不到可运行的规则数据:{},{},{}", runTestRequest.getWorkspaceCode(), runTestRequest.getCode(), runTestRequest.getStatus());}}Input input = new DefaultInput(runTestRequest.getParam());log.info("初始化规则引擎");RuleEngineConfiguration ruleEngineConfiguration = new RuleEngineConfiguration();Container.Body<GeneralRule> generalRuleContainer = ruleEngineConfiguration.getGeneralRuleContainer();GeneralRule rule = GeneralRule.buildRule(rulePublish.getData());generalRuleContainer.add(rule);GeneralRuleEngine engine = new GeneralRuleEngine(ruleEngineConfiguration);// 加载变量engine.getConfiguration().setEngineVariable(this.ruleEngineConfiguration.getEngineVariable());return engine.execute(input, runTestRequest.getWorkspaceCode(), runTestRequest.getCode());}

然后我们改成了这个样子

    @Overridepublic Object formularun(RunTestRequest runTestRequest) {QueryWrapper<RuleEngineFunction2> wrapper = new QueryWrapper<>();List<RuleEngineFunction2> list = ruleEngineFunction2Manager.list(wrapper);for (int i = 0; i < list.size(); i++) {RuleEngineFunction2 ruleEngineFunction2 = list.get(i);//获取设置对应的方法名String className = ruleEngineFunction2.getClassName();String functionName = ruleEngineFunction2.getFunctionName();if (applicationContext.containsBean(className)) {AviatorFunction abstractFunction = (AviatorFunction)applicationContext.getBean(className);AviatorEvaluator.addFunction(abstractFunction);}}String funcation = runTestRequest.getFuncation();funcation = removeHtmlTags(funcation);System.out.println(funcation);Expression compiledExp = AviatorEvaluator.compile(funcation);Map<String, Object> param = runTestRequest.getParam();String res = String.valueOf(compiledExp.execute(param));System.out.println(res);return null;}public  String removeHtmlTags(String input) {return input.replaceAll("<[^>]*>", "");}
}

实现方式,但是这个时候出现了问题,就是函数底层实现的时候出现了问题,然后我们将函数的实现修改了,这个代码就几乎没有什么变动了,这个时候有一个另外的需求。就是需要有一个函数nvlFunction,这个函数是用来干啥的呢,就是说处理入参的,出现了这个函数就是表示有入参,这个函数一共两个参数,第一个参数,是取自函数这个功能的字段,要求是函数功能的函数code值,用来表示入参,另一个参数就是当这个入参不输入的时候,将这个参数赋值给对应的函数。
听着不难,实现的话我也是觉得挺简单的

@Function
public class NvlFunction extends AbstractFunction {@Overridepublic String getName() {return "nvlFunction";}@Overridepublic AviatorObject call(Map<String, Object> env, AviatorObject arg1, AviatorObject arg2) {String letter1 = FunctionUtils.getStringValue(arg1, env);String letter2 = FunctionUtils.getStringValue(arg2, env);System.out.println("letter1"+letter1);System.out.println("letter2"+letter2);return new AviatorString(letter2);}
}

初版,发现不大行,如果参数没有穿进去不大对,

@Function
public class NvlFunction extends AbstractFunction {@Overridepublic String getName() {return "nvlFunction";}@Overridepublic AviatorObject call(Map<String, Object> env, AviatorObject arg1, AviatorObject arg2) {if (arg1 != null && !"".equals(arg1)) {return arg1;}return arg2;}
}

然后换成了这个,发现也是不大行,即使为空的话这个对象AviatorObject 也不会为null

@Function
public class NvlFunction extends AbstractFunction {@Overridepublic String getName() {return "nvlFunction";}@Overridepublic AviatorObject call(Map<String, Object> env, AviatorObject arg1, AviatorObject arg2) {Object param1 = arg1.getValue(env);if (param1 == null || param1.toString().isEmpty()) {return arg2;} else {return arg1;}}
}

发现了只有这个value是null,当这个入参是空的时候,至此改造全部完成了,剩下的就是他原本框架的小bug的修改以及小功能的新增了。

http://www.yayakq.cn/news/815077/

相关文章:

  • 抄袭网站违法网站制作是不是要一个后台
  • 北京公司网站建设报价兰州吸引用户的网站设计
  • 南海网站制作公司宁波建站模板系统
  • 中国建设银行信用卡网站首页wordpress如何获取视频封面
  • 廊坊网站建设公司费用网页传奇新游开服
  • p图做网站兼职劳务工程信息平台
  • 现在还有人用asp做网站新一代设计协作工具
  • 福州专业做网站的公司做网站的流程
  • 个人可以建设农资网站吗建网站要花费多少钱
  • 扬州大学第四届网站建设评比微信app下载安装官方版2022网址
  • 杭州煜灿网络科技有限公司网站开发抚州招聘网站建设
  • 企业网站建设客户需求调查问卷用网站做CAN总线通信好吗
  • 福建省效能建设网站最好的网站开发工具
  • 天水 网站建设招聘h5个人网站源码
  • 潮州网站搭建找谁HTML发布网站
  • 柳州网站推广最好的公司专业建设方案
  • 西咸新区建设环保网站网站建设公司的成本有哪些内容
  • 云平台网站开发1688拿货网
  • 做市场的逛的网站调查公司做网站需要备案吗
  • 济宁网站网站建设完成网站开发需要什么样技术
  • 做网站用php西安市住房和城乡建设局官网
  • 电影网站做cpadirectory wordpress
  • 手表电商网站专业网络推广公司排名
  • 给网站做seo诊断零售管理系统哪个软件好
  • 长沙百度网站推广优化汉口网站优化
  • 杭州餐饮团购网站建设渭南网站建设远景
  • 小学生摘抄新闻安阳企业网站优化外包
  • 如何做网站关键词动态和静态网站的区别
  • 跟京东类似的网站西安电商平台网站建设
  • 新手如何做网站创意设计服务是什么