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

网站开发环境配置建e全景效果图

网站开发环境配置,建e全景效果图,苏州网站建设新手,wordpress 即时联系简介 Velocity是一个基于Java的模板引擎#xff0c;与Freemarker类似。相较于Freemarker更轻量#xff0c;但带来的问题就是功能不如Freemarker强大#xff0c;所以实际项目中可能会更倾向于用Freemarker#xff0c;这里不作过多介绍了#xff0c;本文主要记录一下在使用…简介 Velocity是一个基于Java的模板引擎与Freemarker类似。相较于Freemarker更轻量但带来的问题就是功能不如Freemarker强大所以实际项目中可能会更倾向于用Freemarker这里不作过多介绍了本文主要记录一下在使用中碰到的要对引号特殊字符进行转义的问题。 问题背景 项目应用中使用了Velocity但是其中的一个模板在执行时会报错模板如下 [${content},${scene_id}] 当content的值中含有特殊字符时由于本身是List格式在将变量替换后会因为变量中的特殊字符导致转换JSON报错。比如 String content etsl\hesaid.\iathisis; 执行后会报错 Exception in thread main com.alibaba.fastjson.JSONException: syntax error, pos 8, json : [etslhesaid.iathisis,59]at com.alibaba.fastjson.parser.DefaultJSONParser.parse(DefaultJSONParser.java:1436)at com.alibaba.fastjson.parser.DefaultJSONParser.parse(DefaultJSONParser.java:1322)at com.alibaba.fastjson.parser.DefaultJSONParser.parseArray(DefaultJSONParser.java:1206)at com.alibaba.fastjson.parser.DefaultJSONParser.parseArray(DefaultJSONParser.java:1111)at com.alibaba.fastjson.JSON.parseArray(JSON.java:508) 由于Velocity功能不够强大不能像Freemarker那样用自带的函数对特殊字符进行处理。 解决方法 后来经过查找资料了解到Velocity有拓展工具类org.apache.velocity.tools.generic.EscapeTool查看EscapeTool类的源码可以发现该类中包含了很多工具方法比如针对html,js等语言也有对应的转义方法。当前问题可以使用其中的org.apache.velocity.tools.generic.EscapeTool#java方法来解决。 引入依赖 !-- https://mvnrepository.com/artifact/org.apache.velocity.tools/velocity-tools-generic --dependencygroupIdorg.apache.velocity.tools/groupIdartifactIdvelocity-tools-generic/artifactIdversion3.1/version/dependency 将template修改为  String template [\$esc.java(${content})\,${scene_id}];并且在创建VelocityContext对象时将工具类加载进去 // 创建VelocityContext对象VelocityContext context new VelocityContext();// 向VelocityContext中添加变量context.put(content, content);context.put(scene_id, 59);// 添加自定义工具类context.put(esc, new EscapeTool()); 问题得到解决。 完整代码如下 public static void main(String[] args) throws Exception {String template [\$esc.java(${content})\,${scene_id}];String content etsl\hesaid.\iathisis;System.out.println(content);// 初始化Velocity引擎Velocity.init();// 创建VelocityContext对象VelocityContext context new VelocityContext();// 向VelocityContext中添加变量context.put(content, content);context.put(scene_id, 59);// 添加自定义工具类context.put(esc, new EscapeTool());// 合并模板和VelocityContextStringWriter writer new StringWriter();Velocity.evaluate(context, writer, Velocity Example, template);// 输出结果String params writer.toString();System.out.println(params);JSONArray jsonArray JSONObject.parseArray(params);System.out.println(jsonArray);}
http://www.zqtcl.cn/news/393044/

相关文章:

  • 哪里学网站建设与管理做移动端电影网站
  • 境外企业网站推广大冶市建设局网站
  • 户网站建设的不全.阿里巴巴国际站
  • 定制手机壳的网站能在家做的兼职的网站
  • 温州营销型网站建设郴州网络推广公司
  • asp.net 做网站源代码网站怎么做配置文件夹
  • 网站建设云尚网络wordpress首页flash
  • 北京优化网站宁波网络营销策划公司
  • 网站建设项目前分析电商运营一般要学多久
  • 哪个网站可以做卖房网站菜单模板
  • 网站推广渠道特点郑州百度推广外包
  • 合肥高端网站建设设计公司wordpress 多语言主题
  • 北京工程工程建设交易信息网站wordpress 角色 功能
  • 做购物网站有什么要求吗wordpress查看访问量
  • 多城市网站设计阿里云网站访问不了怎么办
  • 南岗哈尔滨网站建设开发小程序多少费用
  • 百度网站入口特效词品牌企业网站建设公司
  • wordpress找回管理员密码网站关键词排名优化工具
  • 望城建设局网站网站建设与维护可行性报告
  • 免费php网站模板下载手机端网站如何优化
  • 自己做的网站 打开了没有图片注册工程公司名称大全
  • 做网站的团队业绩怎么写WordPress 去掉副标题
  • 学校网页网站模板wordpress更换域名还是之前链接
  • 市面上有什么搭建网站工作室石家庄做网站和宣传的
  • 视频图站主题 wordpress快速收录提交入口
  • 外贸视频网站投资理财网站开发
  • 专业建设网站多少钱铜川网站seo
  • 海外网站seo优化wordpress的代码逻辑
  • 怎样帮别人做网站哪有网站给光头强做面
  • 聊城营销网站建设价格网站设计论文框架