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

📄 htmldatascrollerrenderer.java

📁 一个使用struts+hibernate+spring开发的完的网站源代码。
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
            writer.startElement("td", scroller);            renderFacet(facesContext, scroller, facetComp, FACET_FIRST);            writer.endElement("td");        }        facetComp = scroller.getFastRewind();        if (facetComp != null)        {            writer.startElement("td", scroller);            renderFacet(facesContext, scroller, facetComp, FACET_FAST_REWIND);            writer.endElement("td");        }        facetComp = scroller.getPrevious();        if (facetComp != null)        {            writer.startElement("td", scroller);            renderFacet(facesContext, scroller, facetComp, FACET_PREVOIUS);            writer.endElement("td");        }        if (scroller.isPaginator())        {            writer.startElement("td", scroller);            renderPaginator(facesContext, scroller, uiData);            writer.endElement("td");        }        facetComp = scroller.getNext();        if (facetComp != null)        {            writer.startElement("td", scroller);            renderFacet(facesContext, scroller, facetComp, FACET_NEXT);            writer.endElement("td");        }        facetComp = scroller.getFastForward();        if (facetComp != null)        {            writer.startElement("td", scroller);            renderFacet(facesContext, scroller, facetComp, FACET_FAST_FORWARD);            writer.endElement("td");        }        facetComp = scroller.getLast();        if (facetComp != null)        {            writer.startElement("td", scroller);            renderFacet(facesContext, scroller, facetComp, FACET_LAST);            writer.endElement("td");        }        writer.endElement("tr");        writer.endElement("table");    }    private void renderFacet(FacesContext facesContext,                             HtmlDataScroller scroller,                             UIComponent facetComp,                             String facetName)        throws IOException    {        UIComponent link = getLink(facesContext, scroller, facetComp, facetName);        link.encodeBegin(facesContext);        facetComp.encodeBegin(facesContext);        if (facetComp.getRendersChildren())            facetComp.encodeChildren(facesContext);        facetComp.encodeEnd(facesContext);        link.encodeEnd(facesContext);    }        protected void renderPaginator(FacesContext facesContext,                                   HtmlDataScroller scroller,                                   UIData uiData)        throws IOException    {        ResponseWriter writer = facesContext.getResponseWriter();        int maxPages = scroller.getPaginatorMaxPages();        if (maxPages <= 1)        {            maxPages = 2;        }        int pageCount = getPageCount(uiData);        if (pageCount <= 1)        {            return;        }        int pageIndex = getPageIndex(uiData);        int delta = maxPages / 2;        int pages;        int start;        if (pageCount > maxPages && pageIndex > delta)        {            pages = maxPages;            start = pageIndex - pages / 2 - 1;            if (start + pages > pageCount)            {                start = pageCount - pages;            }        }        else        {            pages = pageCount < maxPages ? pageCount : maxPages;            start = 0;        }        writer.startElement("table", scroller);        String styleClass = scroller.getPaginatorTableClass();        if (styleClass != null)        {            writer.writeAttribute("class", styleClass, null);        }        String style = scroller.getPaginatorTableStyle();        if (style != null)        {            writer.writeAttribute("style", style, null);        }        writer.startElement("tr", scroller);        for (int i = start, size = start + pages; i < size; i++)        {            int idx = i + 1;            writer.startElement("td", scroller);            String cStyleClass;            String cStyle;            if (idx == pageIndex)            {                cStyleClass = scroller.getPaginatorActiveColumnClass();                cStyle = scroller.getPaginatorActiveColumnStyle();            }            else            {                cStyleClass = scroller.getPaginatorColumnClass();                cStyle = scroller.getPaginatorColumnStyle();            }            if (cStyleClass != null)            {                writer.writeAttribute("class", cStyleClass, null);            }            if (cStyle != null)            {                writer.writeAttribute("style", cStyle, null);            }            HtmlCommandLink link = getLink(facesContext, scroller, Integer.toString(idx), idx);            link.encodeBegin(facesContext);            link.encodeChildren(facesContext);            link.encodeEnd(facesContext);            writer.endElement("td");        }        writer.endElement("tr");        writer.endElement("table");    }    protected HtmlCommandLink getLink(FacesContext facesContext,                                      HtmlDataScroller scroller,                                      String text,                                      int pageIndex)    {        String id = PAGE_NAVIGATION + Integer.toString(pageIndex);        Application application = facesContext.getApplication();        HtmlCommandLink link =            (HtmlCommandLink)application.createComponent(HtmlCommandLink.COMPONENT_TYPE);        link.setId(scroller.getId() + id);        link.setTransient(true);        UIParameter parameter            = (UIParameter)application.createComponent(UIParameter.COMPONENT_TYPE);        parameter.setId(scroller.getId() + id + "_param");        parameter.setTransient(true);        parameter.setName(scroller.getClientId(facesContext));        parameter.setValue(id);        List children = link.getChildren();        children.add(parameter);        if (text != null)        {            HtmlOutputText uiText =                (HtmlOutputText)application.createComponent(HtmlOutputText.COMPONENT_TYPE);            uiText.setTransient(true);            uiText.setValue(text);            children.add(uiText);        }        scroller.getChildren().add(link);        return link;    }    protected HtmlCommandLink getLink(FacesContext facesContext,                                      HtmlDataScroller scroller,                                      UIComponent facetComp,                                      String facetName)    {        Application application = facesContext.getApplication();        HtmlCommandLink link                = (HtmlCommandLink)application.createComponent(HtmlCommandLink.COMPONENT_TYPE);        link.setId(scroller.getId() + facetName);        link.setTransient(true);        UIParameter parameter                = (UIParameter)application.createComponent(UIParameter.COMPONENT_TYPE);        parameter.setId(scroller.getId() + facetName + "_param");        parameter.setTransient(true);        parameter.setName(scroller.getClientId(facesContext));        parameter.setValue(facetName);        List children = link.getChildren();        children.add(parameter);        if (facetComp != null)            children.add(facetComp);        // dirty, cause facet-comp is now child from link & scroller!        scroller.getChildren().add(link);        return link;    }    protected int getPageIndex(UIData uiData)    {        int rows = uiData.getRows();        int pageIndex;        if (rows > 0)        {            pageIndex = uiData.getFirst() / rows + 1;        }        else        {            log.warn("DataTable " + uiData.getClientId(FacesContext.getCurrentInstance()) + " has invalid rows attribute.");            pageIndex = 0;        }        if (uiData.getFirst() % rows > 0)        {            pageIndex++;        }        return pageIndex;    }    protected int getPageCount(UIData uiData)    {        int rows = uiData.getRows();        int pageCount;        if (rows > 0)        {            pageCount = rows <= 0 ? 1 : uiData.getRowCount() / rows;            if (uiData.getRowCount() % rows > 0)            {                pageCount++;            }        }        else        {            rows = 1;            pageCount = 1;        }        return pageCount;    }    protected UIData findUIData(HtmlDataScroller scroller, UIComponent component)    {        String forStr = scroller.getFor();        UIComponent forComp;        if (forStr == null)        {            // DataScroller may be a child of uiData            forComp = component.getParent();        }        else        {            forComp = component.findComponent(scroller.getFor());            if (forComp == null)            {                log.warn("could not find UIData referenced by attribute dataScroller@for = '" + scroller.getFor() + "'");            }        }        if (!(forComp instanceof UIData))        {            throw new IllegalArgumentException("uiComponent referenced by attribute tableScroller@for must be of type " + UIData.class.getName());        }        return (UIData)forComp;    }}

⌨️ 快捷键说明

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