主题 : freemarker简单语法问题但是没用过所以问问大家啊
级别: 贡士
UID: 5287
积分:723 加为好友
威望: 0 精华: 0
主题:95 回复:171
注册时间:2010-04-05
在线时长:0
1#   发表于:2011-11-28 08:24:53  IP:114.247.*.*
1、
在freemarker里怎么表达,去掉字符串中所有的html标签,然后在取前X个字符,如果整个字符长度小于X个的话就取全部。
下面是我多方查询写的,个人觉得效率极差,逻辑极不好但是不太懂freemarker语法不知道有没有大侠愿意帮忙看看啊
${a.txt?replace('<[^>]+>','','r')[0..300]?replace('\\s*',' ','r')?replace('\\s*|\t|\r|\n','','r')?replace('..','','i')?replace('&hellip;','','i')[0..63]}

2、
在freemarker里怎么表达,下列代码中增加逻辑,
a、在[#if a.titleImg??]里增加一个int变量,每次进入if,该int变量加1,如果这个变量大于2就退出 [#list tag_list as a]
b、增加一个int数组,每次进入if,将a.id放入数组中
源代码如下:

Java code

    [@cms_content_list channelId='65' count='1' ] [#list tag_list as a] [#if a.titleImg??] ${a.title} [/#if] [/#list] [/@cms_content_list]


伪代码如下:

Java code

    int iSum = 0;//伪代码 int[] iArray = new int[2];//伪代码 [@cms_content_list channelId='65' count='1' ] [#list tag_list as a] if(iSum>2)//伪代码 break;//伪代码 [#if a.titleImg??] ${a.title} iArray[iSum] = a.title;//伪代码 iSum++;//伪代码 [/#if] [/#list] [/@cms_content_list]



接上在下列代码中增加逻辑
a、进入[#list tag_list as a]后,判断a.id是否在step1中的数组内,则不执行${a.title}
源代码如下:

Java code

    [@cms_content_list channelId='65' count='1' ] [#list tag_list as a] ${a.title} [/#list] [/@cms_content_list]



伪代码如下:

Java code

    [@cms_content_list channelId='65' count='1' ] [#list tag_list as a] if(iArray[0]!=a.id&&iArray[1]!=a.id)//伪代码 ${a.title} [/#list] [/@cms_content_list]

欢迎你
级别: 总版主
UID: 10736
积分:148389 加为好友
威望: 205 精华: 42
主题:287 回复:126147
注册时间:2010-09-08
在线时长:16.15
2#   发表于:2011-11-28 08:46:43  IP:59.243.*.*
您好,您可以去freemarker专区提问哦,也可以看看我们专区里相关的资料
路漫漫其修远兮,吾将上下而求索!
级别: 贡士
UID: 5287
积分:723 加为好友
威望: 0 精华: 0
主题:95 回复:171
注册时间:2010-04-05
在线时长:0
3#   发表于:2011-11-28 08:48:07  IP:114.247.*.*
巨星就帮回答下吧。这个不仅跟freemarker有关跟系统标签也有关啊~~就回答下呗~
欢迎你
1 共1页