hotlisttag.java

来自「一个免费wap站」· Java 代码 · 共 96 行

JAVA
96
字号
package com.eline.wap.catalog.taglib.wml;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Random;

import com.eline.wap.catalog.client.HotlinkHelper;
import com.eline.wap.catalog.model.Hotlink;
import com.eline.wap.common.taglib.ListTag;

public class HotListTag extends ListTag {

	/**
	 * 
	 */
	private static final long serialVersionUID = 275456222253915831L;

	private String prefix;
	private boolean hasNext = false;
	
	private int pageItems;			// 页面大小
	// private int pageNum		= 0;	// 页号
	private int productId	= -1;
	private String align = "bottom";

	public HotListTag() {
		prefix = "HotListWML_";
	}

	protected boolean needsNextForm() {
		return hasNext;
	}

	protected void initParamPrefix() {
		super.paramPrefix = this.prefix;
	}

	protected Collection findCollection() throws Exception {
		System.out.println("HotListTag.findCollection()");

		ArrayList list = null;
		ArrayList collResult = new ArrayList();
		
		HotlinkHelper helper = new HotlinkHelper();
		int align = this.align.equalsIgnoreCase("bottom") ? Hotlink.ALIGN_BOTTOM : Hotlink.ALIGN_TOP;
		list = helper.getHotlinks(productId, align, true);

		System.out.println("list.size()=" + list.size());
		System.out.println("pageItems=" + pageItems);
		System.out.println("align=" + align);

		hasNext = false;

		// 随机抽取待返回的数据
		if (list.size() < pageItems)
			collResult = list;
		else {
			Random ro = new Random();
			int[] array = new int[pageItems];
			int range = list.size();	// set range
			for (int i = 0, idx = 0; idx < pageItems && i < 100; i ++) {
				boolean duplicated = false;
				int result = ro.nextInt(range);
				for (int j = 0; j < idx; j ++) {
					if (result == array[j]) {
						duplicated = true;
						break;
					}
				}
				if (duplicated == false)
					array[idx ++] = result;
			}
			for (int k = 0; k < array.length; k ++)
				collResult.add((list.get(array[k])));
		}

		totalRecords = collResult.size();	// 共有多少条记录
		totalPages = 1;	// 共有多少页

		return collResult;
	}

	public void setPageItems(int pageItems) {
		this.pageItems = pageItems;
		super.pageSize = this.pageItems;
	}

	public void setAlign(String align) {
		this.align = align;
	}

	public void setProductId(int productId) {
		this.productId = productId;
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?