⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 inittag.java

📁 lucene 是java 的版的搜索引擎公共模块
💻 JAVA
字号:
package com.bitmechanic.listlib;import javax.servlet.jsp.PageContext;import javax.servlet.jsp.JspException;import javax.servlet.jsp.tagext.TagSupport;import javax.servlet.jsp.tagext.Tag;public class InitTag extends TagSupport {    public static final String TAG_KEY = "listlib_tag_";    public static final String OFFSET_KEY = "listlib_offset";    private String _name, _class;    private int _max;    private ListContainer _lc;    private ListCreator _creator;    public static String getTagKey(String name) {        return TAG_KEY + name;    }    public static InitTag getListTag(TagSupport child, PageContext ctx,         String name) throws JspException {        InitTag tag;        if (name == null) {            tag = (InitTag)findAncestorWithClass(child, InitTag.class);            if (tag == null) {                throw new JspException("No InitTag found on this page");            }        }        else {            tag = (InitTag)ctx.getAttribute(getTagKey(name));            if (tag == null) {                throw new JspException("No InitTag found with name: " + name);            }        }        return tag;    }    public void setName(String name) {        _name = name;    }    public void setClass(String clazz) {        _class = clazz;    }    public void setListCreator(String creator) {        _creator = (ListCreator)pageContext.getAttribute(creator);    }    public void setMax(int max) {        _max = max;    }    public ListContainer getList() throws JspException {        return _lc;    }    public int doStartTag() throws JspException {        if (_creator == null) {            try {                Class c = Class.forName(_class);                _creator = (ListCreator)c.newInstance();            }            catch(Exception e) {                throw new JspException("Unable to instantiate: " + _class, e);            }        }        int offset = 0;        String offsetStr = pageContext.getRequest().getParameter(OFFSET_KEY);        if (offsetStr != null) {            try {                offset = Integer.parseInt(offsetStr);            }            catch(Exception e) {                // squelch.. use starting offset by default.            }        }        try {            _lc = _creator.execute(pageContext, offset, _max);        }        catch(Exception e) {            _creator = null;            throw new JspException("Unable to load list: " + e.getMessage(),e);        }        _lc.setMax(_max);        _lc.setOffset(offset);        if (_name != null) {            pageContext.setAttribute(getTagKey(_name), this);            pageContext.setAttribute(_name, getList());        }        _creator = null;        return EVAL_BODY_INCLUDE;    }    public int doEndTag() throws JspException {        return EVAL_PAGE;    }    public void release() {        super.release();        _name = _class = null;        _lc = null;        _max = 20;        _creator = null;    }}

⌨️ 快捷键说明

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