NutzCN Logo
问答 关于beetl模板语法
发布于 2686天前 作者 bb3239 4012 次浏览 复制 上一个帖子 下一个帖子
标签: nutzwk
         <%
	for(filename in filenames){
	var name=getName(filename);
	%>
	 <li>${filename }</li>
	<%}%>

我在前端用如上beetl语法,页面老是渲染不出来,请教怎么回事?
问题出在 var name=getName(filename);这一句,我去掉就好了。

16 回复

getName是什么鬼??

是一个函数,我查过,beetl支持这种写法。

<%
for(filename in filenames){
var name=filename.substring(filename.lastIndexOf('/')+1,filename.length);
%>
<li>${filename}</li>
<%}%>																	

你是说getName是beetl的内置函数?? 给个链接看看??

不是内置的,是自定义的

你自己自定义的?? 给个声明看看?

<%
for(filename in filenames){
var name=filename.substring(filename.lastIndexOf('/')+1,filename.length);
%>
${filename}
<%}%>

那个就是自定义的一个js函数,不知道能不能这么用,上面就是替换后的代码,你就看这个就可以了

js函数给beetl模板用? 一个在浏览器执行,一个在服务器执行,你觉得能工作???

http://blog.csdn.net/u012562943/article/details/53066381

2.12. 属性赋值
Beetl2.7.0 开始支持对象赋值,如

<%
var user = ....
user.name="joelli";
user.friends[0] = getNewUser();
user.map["name"] = "joelli";

%>

以上是从该链接文档里面摘的,getNewUser()应该也是一个自定义的把

是自定义,但不是js里面的

<%
for(filename in filenames){
var name=filename.substring(filename.lastIndexOf('/')+1,filename.length);
%>
<li>${filename}</li>
<%}%>

要不你帮我看看这段代码为什么又不能执行

<%
for(filename in filenames){
var name = strutil.subStringTo(filename, strutil.index(filename, '/') + 1, strutil.length(filename));
%>
<li>${name}</li>
<%}%>

在服务器就裁剪好嘛, 何必在模板里面做

@wendal

FNP.strutil = org.beetl.ext.fn.StringUtil

我怎么查看这个通用类的成员函数啊

关联源码呗

@wendal 解决了,之前知道beetl是后台模板,但一直没什么理解,今天还是有收获,谢谢!

PS:

FNP.strutil = org.beetl.ext.fn.StringUtil

这个为什么能这样用啊?啥原理啊

人家的规则就是这样

@wendal 嗯嗯,万分感谢

添加回复
请先登陆
回到顶部