@闲.大赋 你好,想跟你请教个问题:我设置了GroupTemplate中的setTempFolder(),也调用优化了,参数也指明要求保持源代码了,但是源代码总是在home目录下的.bee
个人认为不需要执行多几次判断确定类型,可以直接生成代码(或者可以作为优化选项),可能需要先判断类型才能更生成代码,是为了支持表达式。
public static Object get(Object obj,Object name){ if(obj instanceof Map){ return ((Map)obj).get(name); }else { //先获得getName方法 if(name instanceof String){ String n = (String)name; Method method = findMethod(obj,"get"+n.substring(0,1).toUpperCase()+n.substring(1)); if(method!=null){ return method.invoke(obj); } } //如果还没有,获得get方法 method = findMethod(obj,"get"); if(method!=null){ return method.invoke(obj,new Object[]{name}); } //方法不存在 return null; } }
===== 变量访问 a=${a} b=${b} c=${c.f1}
========函数 ${f1()} ${f2(1,2)} ${f3(3,4)}
=======格式 ${a,f1="hhh"}
======= 判断
======= List循环 <% var list1=["a","b","c","d"]; for(i in list1){ %> ${i_index}---${i_size}----${i} <%}%>
====== Map循环 <% var map1 = {x:"x",y:"y",z:"z"}; for(j in map1){ %> ${j_index}---${j_size}----${j} ${j.key}---${j.value} <%}%>
=========== 测试结束====================
上面是我的模板,第二次运行的时候,就出现了异常:
Exception in thread "main" java.lang.NullPointerException: 符号i_size未发现 at org.bee.tl.core.Context.getVar(Context.java:226)
观察一下后台输出,如果后台有错误输出,提示信息类似“无法预编译,因为。。。原因,系统将解释方式执行”,这可能是碰上了无法预编译的情况。否则,不应该会出现编译class不成功情况
应该是生效了,但有俩种情况导致没有生成class,一是预编译错误,就是某些情况不满足导致无法预编译,这情况很少见。系统以解释方式执行。
另外一种情况是预编译通常是在所有的全局变量类型都确定后才能预编译,你的页面也许比较复杂,要多运行几次才能生成
我是在nableOptimize前设置,一样无效
在指定的路径下生成了src,classes两个目录,但是就是没有java文件
哦,这个应该是在enableOptimize前设置,之后在设置就无效了
enableOptimize总是最后设置的一个方法,它要根据前面的设置来初始化系统
手册里没有提,我会尽快更新手册
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(7)
个人认为不需要执行多几次判断确定类型,可以直接生成代码(或者可以作为优化选项),可能需要先判断类型才能更生成代码,是为了支持表达式。
===== 变量访问
a=${a}
b=${b}
c=${c.f1}
========函数
${f1()}
${f2(1,2)}
${f3(3,4)}
=======格式
${a,f1="hhh"}
======= 判断
======= List循环
<%
var list1=["a","b","c","d"];
for(i in list1){
%>
${i_index}---${i_size}----${i}
<%}%>
====== Map循环
<%
var map1 = {x:"x",y:"y",z:"z"};
for(j in map1){
%>
${j_index}---${j_size}----${j}
${j.key}---${j.value}
<%}%>
=========== 测试结束====================
上面是我的模板,第二次运行的时候,就出现了异常:
Exception in thread "main" java.lang.NullPointerException: 符号i_size未发现
at org.bee.tl.core.Context.getVar(Context.java:226)
观察一下后台输出,如果后台有错误输出,提示信息类似“无法预编译,因为。。。原因,系统将解释方式执行”,这可能是碰上了无法预编译的情况。否则,不应该会出现编译class不成功情况
应该是生效了,但有俩种情况导致没有生成class,一是预编译错误,就是某些情况不满足导致无法预编译,这情况很少见。系统以解释方式执行。
另外一种情况是预编译通常是在所有的全局变量类型都确定后才能预编译,你的页面也许比较复杂,要多运行几次才能生成
我是在nableOptimize前设置,一样无效
在指定的路径下生成了src,classes两个目录,但是就是没有java文件
哦,这个应该是在enableOptimize前设置,之后在设置就无效了
enableOptimize总是最后设置的一个方法,它要根据前面的设置来初始化系统
手册里没有提,我会尽快更新手册