精华帖 (0) :: 良好帖 (6) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-08-29
java_user 写道 性能差异可能是两者实现的原理不一样,楼主的应该是对表达式预编译了,jexl好像是每次都编译吧。楼主试试每次计算的表达式都不一样,看看测试结果如何。 是的,肯定要预编译,不然哪有这么快的速度。 我在测试JEXL时,也进行的预编译。 如果每次执行的表达式都不一样,性能应该和JEXL差不多(这个没有具体比较过)。 |
|
返回顶楼 | |
发表时间:2011-08-29
java_user 写道 其实这种东西最主要是要考虑的很全面,性能倒不是最重要的,毕竟这种计算动态的表达式的情况很少,如果要高性能,就直接写代码了。
不能认同你的看法,如果什么时候都可以通过写代码解决,就不需要EL了。 至于说性能是否重要,要看什么场合,有些场合对性能要求非常高,有些则不要求性能,只要求功能。 EL的功能,暂不做评论。 |
|
返回顶楼 | |
发表时间:2011-08-29
最后修改:2011-08-29
lotusyu 写道 java_user 写道 其实这种东西最主要是要考虑的很全面,性能倒不是最重要的,毕竟这种计算动态的表达式的情况很少,如果要高性能,就直接写代码了。
不能认同你的看法,如果什么时候都可以通过写代码解决,就不需要EL了。 至于说性能是否重要,要看什么场合,有些场合对性能要求非常高,有些则不要求性能,只要求功能。 EL的功能,暂不做评论。 EL表达式很少有写很复杂的运算吧。像你这种性能差异的表现前提是大量重复的表达式计算,就我接触到的应用,很少很少有这种需求的,除非用户可以通过编辑表达式自行更改某个计算逻辑。做过一个系统里面计算价格的,就是通过jexl实现的,但计算量也很小。 所以我才说,这种东西功能才是最重要,性能在实际应用中很难体现出来。 ---- 关于EL表达式写错了更改一下 |
|
返回顶楼 | |
发表时间:2011-08-29
lotusyu 写道 ltian 写道 应用场景是什么呢?
应用场景我也说不全,建议你GOOGLE一下。 创建FEl的初衷是数据过滤与运算。 规则引擎已经实现这些功能了,而且更强大。 |
|
返回顶楼 | |
发表时间:2011-08-29
fel运行在web应用里报错,提示找不到fel类、commons-lang的相关类,应该是FelCompilerImpl.getFolder()使用System.getProperty("user.dir")的问题,在web应用中不能使用System.getProperty("user.dir")获取类路径。
|
|
返回顶楼 | |
发表时间:2011-08-29
很遗憾给你带来麻烦了,我晚上回去看一下,再给你回复。
|
|
返回顶楼 | |
发表时间:2011-08-29
liuye 写道 fel运行在web应用里报错,提示找不到fel类、commons-lang的相关类,应该是FelCompilerImpl.getFolder()使用System.getProperty("user.dir")的问题,在web应用中不能使用System.getProperty("user.dir")获取类路径。
请问你有没有把 %java_home%/lib/tools.jar放到web-inf/lib中 |
|
返回顶楼 | |
发表时间:2011-08-30
lotusyu 写道 liuye 写道 fel运行在web应用里报错,提示找不到fel类、commons-lang的相关类,应该是FelCompilerImpl.getFolder()使用System.getProperty("user.dir")的问题,在web应用中不能使用System.getProperty("user.dir")获取类路径。
请问你有没有把 %java_home%/lib/tools.jar放到web-inf/lib中 tools.jar已加入到WEB-INF/lib下 |
|
返回顶楼 | |
发表时间:2011-08-30
to liuye
不能编译的问题是由classloader引起,目前正在处理。 |
|
返回顶楼 | |
发表时间:2011-08-30
想和这个结合模板使用
|
|
返回顶楼 | |