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

📄 managehomepages.java

📁 java 写的一个新闻发布系统
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
// $Id: ManageHomepages.java,v 1.6 2002/06/07 13:50:30 pmartin Exp $////                                   ____.//                       __/\ ______|    |__/\.     _______//            __   .____|    |       \   |    +----+       \//    _______|  /--|    |    |    -   \  _    |    :    -   \_________//   \\______: :---|    :    :           |    :    |         \________>//           |__\---\_____________:______:    :____|____:_____\//                                      /_____|////              . . . i n   j a h i a   w e   t r u s t . . .//////  ManageHomepages////  18.12.2001  NK  added in jahia.//package org.jahia.admin.homepages;import java.io.*;import java.util.*;import javax.servlet.*;import javax.servlet.http.*;import org.jahia.bin.*;import org.jahia.params.*;import org.jahia.utils.*;import org.jahia.data.*;import org.jahia.services.usermanager.*;   		// Usermanager servicesimport org.jahia.services.sites.*;         		// Site servicesimport org.jahia.services.pages.*;         		// Pages servicesimport org.jahia.services.homepages.*;     		// Homepages servicesimport org.jahia.registries.*;             		// ServicesRegistryimport org.jahia.exceptions.*;             		// JahiaExceptionimport org.jahia.engines.copytree.CopyTree_Engine;/** * This class is used by the administration to manage homepages definitions. * * Copyright:    Copyright (c) 2002 * Company:      Jahia Ltd * * @author Khue Nguyen * @version 1.0 */public class ManageHomepages{    private static final String CLASS_NAME  = ManageHomepages.class.getName();    private static final String JSP_PATH    = JahiaAdministration.JSP_PATH;    private static final String HTTP_FILES  = "/jsp/jahia/engines";    private static final String JSP         = "/jsp/jahia/administration/homepages/main.jsp?includejsp=";    private static ServletContext context;    private ServicesRegistry sReg;    private JahiaSitesService siteServ;    private JahiaHomepagesService hpServ;    private JahiaSite site;    private JahiaUser user;    private Hashtable values = new Hashtable();    private String operation = ""; // current operation    public static final String CHOOSEPAGE_LAUNCHER_LINK_SOURCEPAGE                        = "org.jahia.admin.ManageHomepages.link_sourcepage";    public static final String CHOOSEPAGE_LAUNCHER_NEW_DESTPAGE                        = "org.jahia.admin.ManageHomepages.new_destpage";    public static final String CHOOSEPAGE_LAUNCHER_COPY_DESTPAGE                        = "org.jahia.admin.ManageHomepages.copy_destpage";    public static final String CHOOSEPAGE_LAUNCHER_COPY_SOURCEPAGE                        = "org.jahia.admin.ManageHomepages.copy_sourcepage";    //--------------------------------------------------------------------------    /**     * Default constructor.     * @author  Khue Nguyen     *     * @param   request       Servlet request.     * @param   response      Servlet response.     * @param   session       Servlet session for the current user.     * @param   context       Servlet context.     */    public ManageHomepages( 	HttpServletRequest    request,                                HttpServletResponse   response,                                HttpSession           session,                                ServletContext        context )    throws Throwable    {        this.context =  context;        sReg  =  ServicesRegistry.getInstance();        if (sReg == null) {            displayError(request,response,"Service Registry is not available");            return;        }        siteServ =  sReg.getJahiaSitesService();        hpServ =  sReg.getJahiaHomepagesService();        if ( siteServ == null || hpServ == null ){            displayError(request,response,"Requested Services are not available");            return;        }        userRequestDispatcher( request, response, session );    }    //--------------------------------------------------------------------------    /**     * This method is used like a dispatcher for user requests.     * @author  Khue Nguyen     *     * @param   request       Servlet request.     * @param   response      Servlet response.     * @param   session       Servlet session for the current user.     */    private void userRequestDispatcher( HttpServletRequest    request,                                        HttpServletResponse   response,                                        HttpSession           session )    throws IOException,ServletException {        // check if the user has really admin access to this site...        user =  (JahiaUser) session.getAttribute( ParamBean.SESSION_USER );        site =  (JahiaSite) session.getAttribute( ParamBean.SESSION_SITE );        if ( site == null || user == null || sReg == null ){            displayError(request,response,"Requested information not available.");            return;        }        try {            if ( JahiaSiteTools.getAdminGroup(site).isMember(user) ){                operation =  request.getParameter("sub");                if(operation.equals("display")) {                    displayMain( request, response, session );                } else if(operation.equals("add")) {                    displayAdd( request, response, session );                } else if(operation.equals("detail")) {                    displayDetail( request, response, session );                } else if(operation.equals("options")) {                    displayOptions( request, response, session );                }            } else {                //System.out.println(" --> no admin access on this site <--");                displayError(request,response,"No admin access on this site");            }        } catch ( Throwable t ){            t.printStackTrace();            displayError(request,response,"An error occured while processing your request");        }    }    /**     * Forward the servlet request and servlet response objects, using the request     * dispatcher (from the ServletContext). Note: please be careful, use only     * context relative path.     *     * @param       request             servlet request.     * @param       response            servlet response.     * @param       target              target, context-relative path.     * @exception   IOException         an I/O exception occured during the process.     * @exception   ServletException    a servlet exception occured during the process.     */    private void doRedirect( HttpServletRequest   request,                             HttpServletResponse  response,                             String               target )    throws IOException, ServletException    {        try        {            request.setAttribute("currentSite",site);            request.setAttribute("user",user);            // check current operation            if( request.getAttribute("operation") == null ) {                request.setAttribute("operation", operation);            }            // check null warning msg            if( request.getAttribute("warningMsg") == null ) {                request.setAttribute("warningMsg", "");            }            // check null jsp bottom message, and fill in if necessary...            if( request.getAttribute("msg") == null ) {                request.setAttribute("msg", Jahia.COPYRIGHT);            }            if( request.getAttribute("focus") == null ) {                request.setAttribute("focus", "-none-");            }            // check null configuration step title, and fill in if necessary...            if( request.getAttribute("title") == null ) {                request.setAttribute("title", "Manage Home pages");            }            // set input values on request...            request.setAttribute( "values", values );            // add http files path in request...            request.setAttribute( "url", request.getContextPath() + HTTP_FILES );            // get browser entity...            String userAgent = request.getHeader("user-agent");            Integer navigator = (userAgent.indexOf("IE"))                                        != -1 ? new Integer(0) : new Integer(1);            request.setAttribute("navigator", navigator);            boolean isLynx = false;            if(userAgent.indexOf("Lynx") != -1) {                isLynx    = true;            }            request.setAttribute("isLynx", new Boolean(isLynx));            // redirect!            context.getRequestDispatcher( target ).forward( request, response );        } catch (IOException ie) {            JahiaConsole.println(CLASS_NAME+".doRedirect() :" , "error " + ie.getMessage());        } catch (ServletException se) {            JahiaConsole.println(CLASS_NAME+".doRedirect() :",  "error " + se.getMessage());        }    }    //--------------------------------------------------------------------------    /**     * Display the main admin page for homepage definitions.     *     * @author  Khue Nguyen     *     * @param   request       Servlet request.     * @param   response      Servlet response.     * @param   session       Servlet session for the current user.     */    private void displayMain(	HttpServletRequest    request,                                HttpServletResponse   response,                                HttpSession           session )    throws IOException, ServletException, JahiaException    {        // reset session        session.setAttribute("homepageBean", null);        Enumeration enum = hpServ.getHomepages(site);        request.setAttribute("homepages",enum);        // set the default action        request.setAttribute("subAction","list");        // set the default step        request.setAttribute("go","change");        doRedirect( request, response, JSP + "list" );    }    //--------------------------------------------------------------------------    /**     * Forward to error page.     *     * @author  Khue Nguyen     *     * @param   request       Servlet request.     * @param   response      Servlet response.     * @param   String        the warning msg.     */    private void displayError(	HttpServletRequest    request,                                HttpServletResponse   response,                                String msg )    throws IOException, ServletException    {        request.setAttribute("warningMsg",msg);        doRedirect( request, response, JSP + "error" );    }    /***************************************************************************     * ADD SECTION     *     */    //--------------------------------------------------------------------------    /**     * Display the add new homepage form.     *     * @author  Khue Nguyen     *     * @param   request       Servlet request.     * @param   response      Servlet response.     * @param   session       Servlet session for the current user.     */    private void displayAdd(	HttpServletRequest    request,                                HttpServletResponse   response,                                HttpSession           session )    throws IOException, ServletException, JahiaException    {        JahiaConsole.println(CLASS_NAME+".displayAdd","Started");        JahiaHomepage hp = null;        String go = request.getParameter("go");        if ( go == null ){            go = "";            //reset session            session.setAttribute("homepageBean",null);        }        // set the default action        request.setAttribute("subAction","add");        // set the default step        if ( go.equals("") )            go = "change";        request.setAttribute("go",go);        hp = (JahiaHomepage)session.getAttribute("homepageBean");        if ( hp == null ){            hp = hpServ.createHomepage(	"",                                        "",                                        site.getSiteKey(),                                        HomepageTypes.HOMEPAGE_LINK,                                        new Hashtable(),                                        0 );            session.setAttribute("homepageBean",hp);        } else {            // default values            String name = "";            int type = HomepageTypes.HOMEPAGE_LINK;            String descr = "";            // retrieve submitted Data            String value = request.getParameter("name");            if ( value != null )                name = value;            value = request.getParameter("type");            if ( value != null )                type = Integer.parseInt(value);            value = request.getParameter("descr");            if ( value != null )                descr = value;            if ( hp.getType() != type ){                // type has changed ! Recreate a new Bean with correct type                hp = hpServ.createHomepage(	name,                                            descr,                                            site.getSiteKey(),                                            type,                                            new Hashtable(),                                            0 );

⌨️ 快捷键说明

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