当前位置: 代码迷 >> Web前端 >> Freemark 不同处置的等同效果
  详细解决方案

Freemark 不同处置的等同效果

热度:371   发布时间:2013-02-17 10:44:46.0
Freemark 不同处理的等同效果

Freemark 中 自定义标签

?

? [@cms_infoCategory_FlagDirective count='3' recommend_flag='0' ]

[#if tag_pagination??]

[#list tag_pagination.list as m]

? ? ?<li><span class="img_l"><a href="/?${(m.org_code)!}" target="_blank">

? ? ? ? <img src="[#if m.org_logo??&&(m.org_logo?length>0)]${(m.org_logo)!}[#else]/${res}/no_picture.gif[/#if]"/> </a></span> ??

? ? ? <div><h1><a href="/?${(m.org_code)!}" target="_blank">${(m.org_name)!}</a><img src="/${res}/img/new.gif" alt="推荐"/></h1> <p>${((m.org_introduction)!)?substring(0,10)}...... <a href="/?${(m.org_code)!}" target="_blank">详细</a></p>

? ? ? <h2><Span>机构地址:${(m.org_address)!} </Span> ? ?<Span> 机构电话:${(m.org_phonenumber)!}</Span> </h2>

? ? ? </div>

? ? ? ?<div class="clear"></div>

? ? ?</li>

? ? ?[/#list]

? ? ?[/#if]

?[/@cms_infoCategory_FlagDirective ]

使用Freemarker内置函数substring()时不知何种原因在数据足够的情况下长度不能超过10个

但10个长度数量有不够 ,那如何解决长度不够问题??

?

方案:使用Freemarker中length 函数判断分别输出两种不同的结果显示:

[#if ( m.org_introduction)??length>66)]

? ? ? ? ?${ m.org_introduction)?[0..66]?default("...")}

[#else]

? ? ? ? ?${ m.org_introduction)??default("...")}

[/#if]

?