Ⅰ 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>