Coder Social home page Coder Social logo

beetl2.0's Issues

如果参数为null,本地调用找不到方法

dictSelect 有来个同名方法,第二个参数分别是字符或者数字

NATIVE_CALL_EXCEPTION:flyfox.dictSelect 位于46行 资源:/pages/money/add.bee
参数不匹配 flyfox.dictSelect
43|
44| 45| ${flyfox.dictSelect('moneyType',model.type)} 46|
47|
48|

建议增加compress标签压缩页面空白

建议增加compress标签压缩页面空白。

JSP中有:<%@ page trimDirectiveWhitespaces="true" %> 
FreeMarker中有:<#compress></#compress>标签取出空行。

Beetl也需要一个一个这样的标签。

展望:

  1. 如果Beetl能够提供一个标签,在View的同时,将页面全部合并,类似与google网页,nodejs生成的网页那样,就完美了。

内存溢出问题

Exception in thread "pool-5-thread-3" java.lang.OutOfMemoryError: PermGen space
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
at java.lang.Class.getDeclaredMethod(Class.java:1935)
at java.io.ObjectStreamClass.getPrivateMethod(ObjectStreamClass.java:1382)
at java.io.ObjectStreamClass.access$1700(ObjectStreamClass.java:52)
at java.io.ObjectStreamClass$2.run(ObjectStreamClass.java:438)
at java.security.AccessController.doPrivileged(Native Method)
at java.io.ObjectStreamClass.(ObjectStreamClass.java:413)
at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:310)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1106)
at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
at org.beetl.core.om.ObjectUtil.copy(ObjectUtil.java:76)
at org.beetl.core.statement.ProgramMetaData.copy(ProgramMetaData.java:140)
at org.beetl.core.engine.TypeBindingProbe.(TypeBindingProbe.java:31)
at org.beetl.core.engine.FastRuntimeEngine.createProgram(FastRuntimeEngine.java:20)
at org.beetl.core.GroupTemplate.loadTemplate(GroupTemplate.java:365)
at org.beetl.core.GroupTemplate.getTemplate(GroupTemplate.java:320)

使用tomcat部署环境,使用beetl2.0.2版本,帮忙分析下

从2.0-preview升级到2.0-SNAPSHOP后无法使用了

升级之后,访问任意页面都是异常,看不错错在哪里,使用的JFinal1.6

>>加载模板错(TEMPLATE_LOAD_ERROR): 位于0行 资源:/account/signin.html

主要是发现preview的一个bug:

// 使用preview发现下面的两个结果都print为true。
${!msg!''==''} 
${msg!''==''}
//这里发现一个问题,判断对象是否存在居然使用的是两个单引号' + '
// 而不是一个"(对比一下":''),感觉很奇怪,求解释。

看到2.0在线体验是正常的输出false,true,于是升级2.0-SNAPSHOP,升级后就无法使用了。看了一部分源码,没找到打印”加载模版错“这个地方,只是看到ext中jfinal的支持中BeetlRenderFactory改动了。

@javamonkey

长字符串拼接

<%
if("lijz"=="lijz"){
print('{display:"店铺名称",name:"SHOP_HEAD_ID",newline:false,type:"text",validate:{required:true}},');
}else{
print('{display:"店铺名称",name:"SHOP_HEAD_ID",newline:false,type:"select",'
+' options : { '
+' valueField: "SHOP_HEAD_ID", '
+' textField: "SHOP_NAME", '
+' url:rootPath + "business/base/shopinfo/getShop", '
+' autocomplete: true '
+' }'
+'},');
}
%>

必须用+,否则报缺少符号CLASS_METHOD 。

数组安全获取

希望提供一个集合函数,按照索引获取元素,如果索引越界,仅仅返回null而不是抛出异常

资源提示信息

当调用render()返回一个不存在或者错误的资源页面的时候,控制台输出信息应该是
资源:view名,模板根目录 而不是资源:null,模板根目录
另外在controller中,如果没有调用render(),就打印了一句话,控制台也会输出模板加载错误,资源:null 这是为何?

struitl.format 传入非期望类型参数,错误提示不够明确

NATIVE_CALL_INVALID
at org.beetl.core.om.ObjectUtil.invoke(ObjectUtil.java:414)
at org.beetl.core.om.ObjectUtil.invokeObject(ObjectUtil.java:441)
at org.beetl.core.fun.SingleFunctionWrapper.call(SingleFunctionWrapper.java:65)
at org.beetl.core.statement.FunctionExpression.evaluate(FunctionExpression.java:76)
at org.beetl.core.statement.PlaceholderST.execute(PlaceholderST.java:32)

注册的函数包,如果类只有私有构造器,会失败

Exception in thread "main" java.lang.RuntimeException: 初始化失败
at org.beetl.core.GroupTemplate.(GroupTemplate.java:135)
at org.beetl.sample.s01.FilePathRL.main(Unknown Source)
Caused by: java.lang.RuntimeException: java.lang.IllegalAccessException: Class org.beetl.core.om.ObjectUtil can not access a member of class java.lang.Math with modifiers "private"
at org.beetl.core.om.ObjectUtil.instance(ObjectUtil.java:543)
at org.beetl.core.GroupTemplate.initFunction(GroupTemplate.java:180)
at org.beetl.core.GroupTemplate.init(GroupTemplate.java:154)
at org.beetl.core.GroupTemplate.(GroupTemplate.java:130)
... 1 more
Caused by: java.lang.IllegalAccessException: Class org.beetl.core.om.ObjectUtil can not access a member of class java.lang.Math with modifiers "private"
at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:109)
at java.lang.Class.newInstance(Class.java:368)
at org.beetl.core.om.ObjectUtil.instance(ObjectUtil.java:535)
... 4 more

listmap = map["value"].~size; 出错

for(map in List){
var listmap = map["value"].~size;
}
这么写的话会报错。
java.lang.NullPointerException
at org.beetl.core.statement.VarVirtualAttribute.infer(VarVirtualAttribute.java:39)
at org.beetl.core.statement.VarRef.infer(VarRef.java:160)
at org.beetl.core.statement.VarAssignStatement.infer(VarAssignStatement.java:69)
at org.beetl.core.statement.VarAssignStatementSeq.infer(VarAss

cache标签出错

创建Tag错(TAG_INSTANCE_ERROR):cache 位于3行 资源:<% //请指定你...
1|<%
2|//请指定你的缓存key
3|cache("key",60,false){
4|%>
5|date = ${date(),dateFormat='yy-MM-dd hh:mm::ss'}
6|<%}%>
org.beetl.core.statement.TagStatement.execute(TagStatement.java:68)
org.beetl.core.statement.Program.execute(Program.java:70)
org.beetl.core.Template.renderTo(Template.java:119)
org.beetl.core.Template.renderTo(Template.java:85)
org.beetl.core.Template.render(Template.java:72)
org.beetl.core.BeetlKit.render(BeetlKit.java:96)
org.beetl.core.BeetlKit.testTemplate(BeetlKit.java:194)
org.bee.tl.online.TestServlet.doPost(TestServlet.java:221)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)

IDE 集成支持

支持elcipse插件,能支持:
语法着色
属性提示
属性重构
debug功能

增强标签绑定方式

原有方式,需要将模板中标签变量的申明和代码里的变量一致,导致了使用不方便,建议标签实现提供按照顺寻绑定的方式,如:
binding(new Objecct[value1,value2]);

2.0-SNAPSHOP 默认配置文件疑问

## #是否检测文件变化
RESOURCE.autouCheck

@javamonkey 确定这里不是autoCheck?
虽然我知道比较直接,但是秉着对一个开源软件认真负责的态度,放个issue解决问题,让大家少走弯路。

beetl-performance编译失败

   [INFO]
    [INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ beetl-performance ---
    [INFO] Changes detected - recompiling the module!
    [INFO] Compiling 33 source files to /Users/Guo/deploy/beetl2.0/beetl-performance/target/classes
    [INFO] -------------------------------------------------------------
    [ERROR] COMPILATION ERROR :
    [INFO] -------------------------------------------------------------
    [ERROR] /Users/Guo/deploy/beetl2.0/beetl-performance/src/main/java/org/beetl/performance/lab/IteratorMakeTest.java:[30,39] 无法将类 org.beetl.core.IteratorStatus中的方法 getIteratorStatus应用到给定类型;
      需要: java.lang.Object
      找到: java.util.Map,int
      原因: 实际参数列表和形式参数列表长度不同
    [ERROR] /Users/Guo/deploy/beetl2.0/beetl-performance/src/main/java/org/beetl/performance/lab/IteratorMakeTest.java:[34,39] 无法将类 org.beetl.core.IteratorStatus中的方法 getIteratorStatus应用到给定类型;
      需要: java.lang.Object
      找到: java.util.Map,int
      原因: 实际参数列表和形式参数列表长度不同
    [ERROR] /Users/Guo/deploy/beetl2.0/beetl-performance/src/main/java/org/beetl/performance/lab/IteratorMakeTest.java:[40,39] 无法将类 org.beetl.core.IteratorStatus中的方法 getIteratorStatus应用到给定类型;
      需要: java.lang.Object
      找到: java.util.Map,int
      原因: 实际参数列表和形式参数列表长度不同
    [ERROR] /Users/Guo/deploy/beetl2.0/beetl-performance/src/main/java/org/beetl/performance/lab/IteratorMakeTest.java:[52,39] 无法将类 org.beetl.core.IteratorStatus中的方法 getIteratorStatus应用到给定类型;
      需要: java.lang.Object
      找到: java.util.Map,int
      原因: 实际参数列表和形式参数列表长度不同
    [INFO] 4 errors
    [INFO] -------------------------------------------------------------
    [INFO] ------------------------------------------------------------------------
    [INFO] Reactor Summary:
    [INFO]
    [INFO] beetl-parent ...................................... SUCCESS [1.564s]
    [INFO] beetl-core ........................................ SUCCESS [6.894s]
    [INFO] beetl-performance ................................. FAILURE [0.221s]
    [INFO] beetl-samples ..................................... SKIPPED
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD FAILURE
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 8.859s
    [INFO] Finished at: Tue Sep 09 16:48:14 CST 2014
    [INFO] Final Memory: 25M/982M
    [INFO] ------------------------------------------------------------------------
    [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project beetl-performance: Compilation failure: Compilation failure:
    [ERROR] /Users/Guo/deploy/beetl2.0/beetl-performance/src/main/java/org/beetl/performance/lab/IteratorMakeTest.java:[30,39] 无法将类 org.beetl.core.IteratorStatus中的方法 getIteratorStatus应用到给定类型;
    [ERROR] 需要: java.lang.Object
    [ERROR] 找到: java.util.Map,int
    [ERROR] 原因: 实际参数列表和形式参数列表长度不同
    [ERROR] /Users/Guo/deploy/beetl2.0/beetl-performance/src/main/java/org/beetl/performance/lab/IteratorMakeTest.java:[34,39] 无法将类 org.beetl.core.IteratorStatus中的方法 getIteratorStatus应用到给定类型;
    [ERROR] 需要: java.lang.Object
    [ERROR] 找到: java.util.Map,int
    [ERROR] 原因: 实际参数列表和形式参数列表长度不同
    [ERROR] /Users/Guo/deploy/beetl2.0/beetl-performance/src/main/java/org/beetl/performance/lab/IteratorMakeTest.java:[40,39] 无法将类 org.beetl.core.IteratorStatus中的方法 getIteratorStatus应用到给定类型;
    [ERROR] 需要: java.lang.Object
    [ERROR] 找到: java.util.Map,int
    [ERROR] 原因: 实际参数列表和形式参数列表长度不同
    [ERROR] /Users/Guo/deploy/beetl2.0/beetl-performance/src/main/java/org/beetl/performance/lab/IteratorMakeTest.java:[52,39] 无法将类 org.beetl.core.IteratorStatus中的方法 getIteratorStatus应用到给定类型;
    [ERROR] 需要: java.lang.Object
    [ERROR] 找到: java.util.Map,int
    [ERROR] 原因: 实际参数列表和形式参数列表长度不同
    [ERROR] -> [Help 1]
    [ERROR]
    [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
    [ERROR] Re-run Maven using the -X switch to enable full debug logging.
    [ERROR]
    [ERROR] For more information about the errors and possible solutions, please read the following articles:
    [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
    [ERROR]
    [ERROR] After correcting the problems, you can resume the build with the command
    [ERROR]   mvn <goals> -rf :beetl-performance
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] beetl-parent ...................................... FAILURE [51.129s]
[INFO] beetl-core ........................................ SKIPPED
[INFO] beetl-performance ................................. SKIPPED
[INFO] beetl-samples ..................................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE

本地调用class不存在,应该提示,而不是空指针异常

java.lang.NullPointerException
at org.beetl.core.statement.NativeCallExpression.evaluate(NativeCallExpression.java:69)
at org.beetl.core.statement.VarAssignStatement.execute(VarAssignStatement.java:52)
at org.beetl.core.statement.VarAssignStatementSeq.execute(VarAssignStatementSeq.java:53)
at org.beetl.core.statement.Program.execute(Program.java:70)
at org.beetl.core.engine.FastRuntimeEngine$FilterProgram.execute(FastRuntimeEngine.java:43)
at org.beetl.core.Template.renderTo(Template.java:120)
at org.beetl.core.Template.renderTo(Template.java:86)
at org.beetl.ext.web.WebRender.render(WebRender.java:74)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.