Ⅰ freemarker for循环怎么写
代码如下:
<#if totalPage gt 10>
<#list 1..10 as t>
<#if pageNo==t> <li class="thisclass">${t}</li>
<#else> <li><a href="${menu.address}/list_${t}.html">${t}</a></li>
</#if>
</#list>
<#else>
<#list 1..totalPage as t>
<#if pageNo==t> <li class="thisclass">${t}</li>
<#else> <li><a href="${menu.address}/list_${t}.html">${t}</a></li>
</#if>
</#list>
</#if>
(1)freemarkerlist过滤扩展阅读
Freemarker 3种循环模式
1、map循环
举例:
<#if vo.urlMap??>
<#list vo.urlMap?keys as key>
<li>
<a href="${vo.urlMap[key]!''}">${key!''}</a>
</li>
</#list>
</#if>
vo.urlMap?keys: 将map中的key循环(类似keySet迭代器)
循环中通过map[key]来取的key对应的value
如果需要当前循环下标, 使用循环对象_index取即可, 如: key_index
2、list循环
举例:
<#list vo.valueList as value>
<td>${value!''}</td>
</#list>
3、自定义次数循环
举例:
<!-- 动态长度 -->
<#list 0..(nums?number)!0 as i>
<td>${vo.valueList[i]!''}</td>
</#list>
<!-- 固定长度 -->
<#list 1..100 as i>
<td>${vo.valueList[i]!''}</td>
</#list>
Ⅱ freemaker变量赋值问题
<#macro pager totalPage curPage=1 showPageNum=10>
<#if (showPageNum > totalPage)>
<#local showPageNum = totalPage-1><br/>
</#if>
${showPageNum}
</#macro>
解释:global、assign、local(macro参数)、list(由list创建的循环变量如:<#list a as x>)关系
global 全局变量,在所有命名空间可见
assign 当前命名空间可见
local(macro参数) 局部变量,当前宏内可见
循环变量(<#list a as x>) 当前循环可见
他们之间的关系 循环变量会隐藏局部变量(local创建的或macro参数)
局部变量(local创建的或macro参数)会隐藏assign(创建的变量)
assign(创建的变量)会隐藏global
Ⅲ 怎么在html中写自定义freemaker标签
要想使用来freemarker标签,必须能够被FreemarkerServlet拦截到,然自后解析处理成html所以直接用ftl页面就行了,为什么要静态网页和动态模版混着用呢 如果真想用。。web.xml 中freemarker拦截器(制定拦截*.html的页面
Ⅳ freeMaker list 的嵌套循环 遍历
List<Obj> array = new ArrayList<Obj>();
// 先对obj进行遍历
for(Obj l:array){
// 再对每个obj对象的list遍历
for(String str:l.list){
}
}
网页:
<s:iterator value="lists" var="obj" >
<s:property value="#obj.name"/>|
<s:property value="#obj.olist.1"/>
网页里为什么可以直接写 obj.name,他其实调用了obj.getName()方法。所以我推测---》如果想对olist迭代,也可以直接obj.olist.i。你试试看吧
Ⅳ freemaker可以对数组元素预处理吗
totalPage)> ${showPageNum}解释:global、assign、local(macro参数)、list(由list创建的循环变量如:)关系global 全局变量,在所有命名空间可见assign 当前命名空间可见local(macro参数) 局部变量,当前宏内可见循环变量
Ⅵ freemaker 里面 读取对象中封装的List<String>集合报错,应该怎么读取循环读取List<String>
User类
public class User {
private String userName;
private String passWord;
private int age;
(省略set和get方法)
}
2.controller
@Controller
public class UserList {
@RequestMapping("/userlist")
public String userList(Model model){
ArrayList<User> list = new ArrayList<User>();
User u1 = new User("张三1", "123", 21);
User u2 = new User("张三2", "123", 22);
User u3 = new User("张三3", "123", 24);
User u4 = new User("张三4", "123", 23);
list.add(u1);
list.add(u2);
list.add(u3);
list.add(u4);
model.addAttribute("list",list);
return "userList";
}
}
3. userlist.ftl
<#--Freemarker遍历list-->
<#list userList as user>
用户名:${user.userName}
密 码:${user.userPassword}
年 龄: ${user.age}
</#list>
4. 效果
Ⅶ 求问关于freemaker与springmvc结合的问题,比如我在model里addattribu
使用EL表达式,详情见网络
Ⅷ 织梦的{dede:freelist/}标签支持typeid属性吗如果不支持要怎么加
支持的,请参考这篇遍历友情链接的文章,其中就用到了typeid。
http://jingyan..com/article/59a015e3420565f7948865e1.html
Ⅸ freemaker中怎么获取下标
<#if userList?exists>
<#list userListas item>
<tr>
<td>${item_index?if_exists+1}</td>//获取循环下标值,默认是从0开始的.
<td>${item.userName?if_exists}</td>
</td>
</#list>
</#if>
Ⅹ freemarker中遍历一个list,得到指定的值 然后以逗号隔开
加个,号哦。
< #list nameList as list><#if (list.seachvo)! == 'precise'>${(list.e)!},</#if></#list>