Freemarker list物件取前幾條資料
專案中用freemarker 做顯示層,可能會遇到取出資料前幾條,通過用freemarker 取資料用<#list root.list as row> ${row.title} <#/list> ,但是這種取法是取出所有的資料.
如果我想去第一條資料:
<#list arrayList as c>
<#if c_index == 0>
第一項的值
</#if>
</#list>
現在只想取前5條,該怎麼做?程式碼如下:
<#assign n = list5?size /> //定義n的值為list5的大小
<#if n gt 6> //如果n大於6,頁面中可能要求只顯示6條 (注:gt,gte,lt,lte)
<#assign n = 6 /> //把n重定義為6
< /#if>
< #if n!=0> //防止n的值為0,也可以寫成<#if n gt 0 >
< #list 0..(n-1) as i> //把前 n 條 記錄賦值給 i,如果i=3,則[0,1,2]
< #assign ls5 = list5[i] /> //把list5的第i個元素賦值給ls5
< #assign isNew = list5Istrue[i] />
< tr>
< td height='25' class='z3'>.<a href='#' onclick="zw('${ls5.CIid}','905','活動展示','');">
< #if ls5.CTitle?length lt 15> //如果Ctitle的長度小於15,就
${ls5.CTitle} //就正常顯示該標題
<#else> //如果大於15
${ls5.CTitle[0..15]}... //就擷取前15個,並加上…
</#if>
< #if isNew="true">
< img src='/model/img/new-111.gif' width='27' height='11' border='0' />
< /#if>
< /a></td>
< /tr>
< /#list>
< /#if>
專案中應用:
[#assign n = 0] [#list cocoPersonInfo.cocoPersonResues as v] [#assign n = n + 1] <tr > <td width="66" colspan="2" >${v.worktime_begin}</td> <td width="66" colspan="2" >${v.worktime_end}</td> <td width="300" colspan="10" >${v.workplace}</td> <td width="168" colspan="4" >${v.occupation}</td> </tr> [#if n > 4] [#break] [/#if] [/#list] [#if n < 5] [#list n..4 as i] <tr > <td width="66" colspan="2" ></td> <td width="66" colspan="2" ></td> <td width="300" colspan="10" ></td> <td width="168" colspan="4" ></td> </tr> [/#list] [/#if]
效果:
相關推薦
Freemarker list物件取前幾條資料
專案中用freemarker 做顯示層,可能會遇到取出資料前幾條,通過用freemarker 取資料用<#list root.list as row> ${row.title} <#/list> ,但是這種取法是取出所有的資料. 如果我想去第一條資料
JAVA List根據字段排序以及取前幾條數據
字段排序 .so ret sort etime com sub clas tar 1.經常會遇到對組裝的list排序或提取list中前幾條數據,例如: 根據時間排序: 1 list.sort((o1, o2) -> o2.getCreateTime().compar
sql之分組取組內前幾條資料
一、對分組的記錄取前N條記錄:例如:取每組的前3條最大的記錄 1.用子查詢: SELECT * FROM tableName a WHERE (SELECT COUNT(*) FROM tableName b WHERE b.id=a.id AND b.cnt>
java中list取前4條資料
if (list.size() > 5) {//判斷list長度 List newList = list.subList(0, 4);//取前四條資料 return newList;//返回新的list }
今天遇到一個問題,mysql取分組前幾條資料
親測無誤 小提示: 建立臨時表的方式需要資料庫寫許可權,只有讀許可權的話還是用老實用巢狀sql好了 DROP TEMPORARY TABLE IF EXISTS tableWithRowNum; CREATE TEMPORARY TABLE t
mysql或者oracle分組排序取前幾條數據
esc rom group over nbsp oracle oracl 排序 _id mysql: select a.* from(select t1.*,(select count(*)+1 from 表 where 分組字段=t1.分組字段 and 排序字段<t
查詢資料分組之後的前幾條資料 可根據不同情況篩選
需求 : 1)獲取每個企業新發布的4個產品 2)VIP企業獲取8個產品 簡單的demo 這是所有的資料 SELECT product_name, company_id, add_time, vip, rn FROM
SQL查詢前幾條資料的方法
sql在不同資料庫查詢前幾條資料1. ORACLE SELECT * FROM TABLE1 WHERE ROWNUM<=N HQL: from table1 t order by t.createTime desc where rownum<=n2. IN
sql 查詢 前幾條資料
sql在不同資料庫查詢前幾條資料 1. ORACLE SELECT * FROM TABLE1 WHERE ROWNUM<=N HQL: from table1 t order by t.createTime desc where rownum<=n 2
es java 聚合方法——聚合後根據count排序並取前2條資料
聚合後根據count排序並取前2條資料 /** * 聚合後根據count排序並取前2條資料 */ @Test public void orderAfterAggregation(){ SearchResp
hive分組去前幾條資料
需求交易系統,財務要求維護每個使用者首個交易完成的訂單資料(首單表,可取每個使用者交易完成時間最老的訂單資料)。舉例:簡寫版的表結構:表資料:則 財務希望彙總記錄如下:uidorder_idservice_completion_time2442017-02-03 12:23:
資料庫查詢前幾條資料
1. ORACLE SELECT * FROM TABLE1 WHERE ROWNUM<=N HQL: from table1 t order by t.createTime desc where rownum<=n 2. SQL SERVER
sql分組(orderBy、GroupBy)獲取每組前一(幾)條資料
sql資料庫實現分組並取每組的前1(幾)條資料 測試資料準備工作: 根據某一個欄位分組取最大(小)值所在行的資料: 建立表並且插入資料 CREATE table Test_orderByOrGroupBy_tb(Name nvarchar(50),Val int,Describe n
mysql分組取每組前幾條記錄(排名) 附group by與order by的研究
select a.* from tb a where val = (select max(val) from tb where name = a.name) order by a.name--方法2:select a.* from tb a where not exists(select 1 from tb
mysql帶條件的字串拼接,多行資料合併一行顯示,取前幾位
我原來通過group by 進行分組然後利用GROUP_CONCAT GROUP_CONCAT(s3.name) 獲取到了一串人名 現在要判斷如果裡面的人多餘三個就只顯示三個人其他用...號顯
mysql分組取每組前幾條記錄
1、表SQL: DROP TABLE IF EXISTS `ho_archives`; CREATE TABLE `ho_archives` ( `id` mediumint(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID',
parttion by ~~~針對某個欄位或多個欄位重複,資料只取前n條。問題例子:1.主評論下的評論按著 時間正序最多隻取前5條 2.獲取最新登入記錄......
分組目前已知partition by、group by partition by用於給結果集分組分割槽,如果沒有指定那麼它把整個結果集作為一個分組,最後顯示具體資料 group by:通過所查詢的資料的某一欄位或屬性進行分組,最後顯示組資料,而不是具體資料,因為select 後面的所有列中,沒有使用聚合函
Oracle資料庫rank()over(partition by order by)實現分組 排序 取前幾資料
Oracle1.使用 rank()over(order by)得到記錄排序根據工資排名,排名相同的時候下一個排名累加,比如第三和第四工資一樣,那麼第三第四排名都是3,第五排名是5而非4dense_rank()實現的效果不累加,第五仍是4例:select code 編號,sal
sql server 分組,取每組的前幾行資料
sql中group by後,獲取每組中的前N行資料,目前我知道的有2種方法 比如有個成績表: 裡面有欄位學生ID,科目,成績。我現在想取每個科目的頭三名。 1. 子查詢 select * from score s where StudentName in (selec
SQL查詢已經排序好的資料中的前幾條
使用 select top 5 * from table order by id 時,報用select語句檢索oracle資料庫時出現ora-00923:未找到要求的from關鍵字。 因為該SQL語句是在SQLServer中的使用的,如果是在 Oracle中,需要使用 ro