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

📄 viewbookmarkstag.java

📁 这个weblogging 设计得比较精巧
💻 JAVA
字号:
package org.roller.presentation.bookmarks.tags;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.roller.model.BookmarkManager;import org.roller.pojos.BookmarkComparator;import org.roller.pojos.BookmarkData;import org.roller.pojos.FolderData;import org.roller.pojos.UserData;import org.roller.presentation.RollerContext;import org.roller.presentation.RollerRequest;import org.roller.util.Utilities;import java.io.IOException;import java.io.PrintWriter;import java.net.MalformedURLException;import java.util.Collection;import java.util.Enumeration;import java.util.Hashtable;import java.util.Iterator;import java.util.List;import java.util.Set;import java.util.Vector;import javax.servlet.http.HttpServletRequest;import javax.servlet.jsp.JspException;import javax.servlet.jsp.PageContext;import javax.servlet.jsp.tagext.Tag;/** * @deprecated Is this class even in use anymore? -Lance *  * <p>Displays a folder of bookmarks or a table that shows all folders. * If the folderName property is set then this tag will display the bookmarks * in that folder, separated by BR tag line breaks. If the folderName * property is not set, this tag will display a table of bookmarks. * </p> * <p>The bookmarks table display uses the Folder Column and Row values * to position the Folders in a table. The bookmarks within each folder * are ordered using the Bookmark Priority value. A bookmark's HREF tag * is given a CSS class of rBookmark_N where N is the Bookmark's Weight value. * </p> * @jsp.tag name="ViewBookmarks" */public class ViewBookmarksTag extends org.roller.presentation.tags.HybridTag{    static final long serialVersionUID = -4357415994168654686L;        private static Log mLogger =        LogFactory.getFactory().getInstance(ViewBookmarksTag.class);    /** @jsp.attribute */    public String getFolderName() { return mFolderName; }    public void setFolderName(String v) { mFolderName = v; }    private String mFolderName = null;    /** @jsp.attribute */    public String getTitle() { return mTitle; }    public void setTitle(String v) { mTitle = v; }    private String mTitle = null;    /** @jsp.attribute */    public boolean getShowFolderName() { return mShowFolderName; }    public void setShowFolderName(boolean v) { mShowFolderName = v; }    private boolean mShowFolderName = true;    /** @jsp.attribute */    public boolean getExpandingFolder() { return mExpandingFolder; }    public void setExpandingFolder(boolean v) { mExpandingFolder = v; }    private boolean mExpandingFolder = false;        //------------------------------------------------------------------------    public String view( String folderName, String title )    {        mFolderName = folderName;        mTitle = title;        return emit();    }    public String view( String folderName, boolean showFolderName )    {        mFolderName = folderName;        mShowFolderName = showFolderName;        return emit();    }    public String view( String folderName, boolean showFolderName, boolean expandingFolder )    {        mFolderName = folderName;        mShowFolderName = showFolderName;        mExpandingFolder = expandingFolder;        return emit();    }        //-------------------------------------------------------------    /**     * Process start tag     * @return EVAL_SKIP_BODY     */    public int doStartTag( PrintWriter pw ) throws JspException    {        try        {            HttpServletRequest req =                (HttpServletRequest)pageContext.getRequest();            RollerRequest rreq = RollerRequest.getRollerRequest(req);            BookmarkManager bookmarkMgr =                rreq.getRoller().getBookmarkManager();            UserData user = rreq.getUser();            FolderData fd = bookmarkMgr.getFolder(                rreq.getWebsite(), mFolderName);            if ( fd == null )            {                pw.print("<span class=\"error\">");                pw.print("Error fetching folder named "+mFolderName);                pw.print("</span>");                return  Tag.SKIP_BODY;            }            emitFolderHTML( pw, pageContext, fd, user );            return Tag.SKIP_BODY;        }        catch (Exception e)        {            mLogger.error("Exception",e);            throw new JspException(                e.getClass().toString()+": "+e.getMessage(),e);        }    }    //------------------------------------------------------------------------    public void emitBookmarkHTML( PrintWriter pw, PageContext ctx,        BookmarkData bookmark, UserData user )        throws IOException, MalformedURLException    {        HttpServletRequest request = (HttpServletRequest)ctx.getRequest();        String cpath = request.getContextPath();        String resourcePath = request.getContextPath()                + RollerContext.getUploadPath(pageContext.getServletContext())                    + "/" + user.getUserName();        if ( bookmark.getImage()!=null         && !bookmark.getImage().trim().equals("") )        {            pw.print("<a href=\""+bookmark.getUrl()+"\">");            pw.println("<img src=\""                + resourcePath + "/" + bookmark.getImage() + "\" "                + "alt=\"" + bookmark.getName() + "\" /> " );            pw.println("</a><br />");        }        else if ( bookmark.getFeedUrl()!=null              && !bookmark.getFeedUrl().trim().equals("") )        {            pw.print("<a class=\"rBookmark\" href=\""+bookmark.getUrl()+"\"");            if ( !bookmark.getDescription().trim().equals("") )            {                pw.print(" title=\""+bookmark.getDescription()+"\"");            }            pw.print(" >");            pw.println( bookmark.getName()+"</a>");            pw.println( "<a href=\""+bookmark.getFeedUrl()+"\">" );            pw.print  ( "<img src=\""+cpath+"/images/smrssbadge.gif\" " );            pw.println(     "alt=\"URL of site's RSS feed\"" );            pw.println(     "class=\"smrssbadge\" /></a>" );            pw.println( "<br />" );        }        else        {            pw.print( "<a href=\"" );            pw.print( bookmark.getUrl() );            pw.print( "\" " );            pw.print( "class=\"rBookmark" );            pw.print( bookmark.getWeight() );            pw.print( "\" " );            pw.print( "title=\""  );            pw.print( bookmark.getDescription() );            pw.print( "\" >" );            pw.print( bookmark.getName() );            pw.println( "</a><br />" );        }    }    //------------------------------------------------------------------------    public void emitFolderHTML( PrintWriter pw, PageContext ctx,        FolderData folder, UserData user )        throws IOException, MalformedURLException    {        HttpServletRequest request = (HttpServletRequest)ctx.getRequest();        String cpath = request.getContextPath();        // replace spaces with underscores        String divId = Utilities.stringReplace( folder.getName(), " ", "_" );        // remove single quotes to prevent javascript errors        divId = Utilities.stringReplace( divId, "'", "" );                if ( mShowFolderName && !mExpandingFolder )        {            pw.println( "<div class=\"rFolder\">"+folder.getName()+"</div>" );        }        if ( mShowFolderName && mExpandingFolder )        {                        pw.print( "<div class=\"rFolder\"><a href=\"javascript:" );            pw.print( "toggleFolder('"+divId+"')\"><span id=\"i"+divId+"\">" );            pw.print( "+</span> "+folder.getName()+"</a></div>" );            pw.println( "<div id=\""+divId+"\" style=\"display: none\">" );               }                Collection bookmarks = folder.getBookmarks();        //java.util.Collections.sort( bookmarks, new BookmarkComparator() );        Iterator iter = bookmarks.iterator();        while ( iter.hasNext() )        {            BookmarkData bookmark = (BookmarkData)iter.next();            emitBookmarkHTML( pw, ctx, bookmark, user );        }                if (mShowFolderName && mExpandingFolder)        {            pw.println( "</div>" );                   pw.println( "<script type=\"text/javascript\">" );            pw.println( "<!--" );            pw.println( "  folderPreference('"+divId+"');" );            pw.println( "// -->");            pw.println( "</script>" );        }    }}

⌨️ 快捷键说明

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