package com.kingschan.blog.common.freemarker.directive.bookmark; import java.io.IOException; import java.util.HashMap; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import com.kingschan.blog.dao.Pagination; import com.kingschan.blog.services.BookMarkService; import freemarker.core.Environment; import freemarker.template.ObjectWrapper; import freemarker.template.TemplateDirectiveBody; import freemarker.template.TemplateDirectiveModel; import freemarker.template.TemplateException; import freemarker.template.TemplateModel; /** * * <pre> * 类名称:BookMarkDirective * 类描述: 书签 * 创建人:陈国祥 (kingschan) * 创建时间:2016-3-14 下午3:42:40 * 修改人:Administrator * 修改时间:2016-3-14 下午3:42:40 * 修改备注: * @version V1.0 * </pre> */ @Component("BookMark") public class BookMarkDirective implements TemplateDirectiveModel{ @Autowired private BookMarkService bookmark_serv; @Override public void execute(Environment env, @SuppressWarnings("rawtypes") Map params, TemplateModel[] tm, TemplateDirectiveBody body) throws TemplateException, IOException { int page =params.containsKey("page")&¶ms.get("page").toString().matches("\\d+")?Integer.valueOf(params.get("page").toString()):1; int limit =params.containsKey("limit")&¶ms.get("limit").toString().matches("\\d+")?Integer.valueOf(params.get("limit").toString()):10; String title=params.containsKey("title")?params.get("title").toString():"";//标题 Integer folder=params.containsKey("folder")&¶ms.get("folder").toString().matches("\\d+")?Integer.valueOf(params.get("folder").toString()):0;//类型 String website_id=params.containsKey("website_id")?params.get("website_id").toString():"";//网站 String disablepage=params.containsKey("disablepage")?params.get("disablepage").toString():"";//是否设置分布信息 String orderby=params.containsKey("orderby")?params.get("orderby").toString():"";//排序 Map<String, Object> map =new HashMap<String, Object>(); if (!title.isEmpty()) { map.put("title", "%"+title+"%"); } if (folder!=0) { map.put("folder", folder); } if (!orderby.isEmpty()) { map.put("orderby", orderby); } map.put("websiteid", website_id); Pagination p=null; try { p= bookmark_serv.getBookMarks(website_id, map, limit, page); env.setVariable("bookmark_lis", ObjectWrapper.DEFAULT_WRAPPER.wrap(p.getData())); //是否设置分布信息 if (disablepage.isEmpty()) { env.setVariable("page", ObjectWrapper.DEFAULT_WRAPPER.wrap(p)); } body.render(env.getOut()); } catch (Exception e) { e.printStackTrace(); } } }