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

📄 lifecycleimpl.java

📁 一个使用struts+hibernate+spring开发的完的网站源代码。
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
     * Update Model Values (JSF.2.2.4)     * @return true, if response is complete     */    private boolean updateModelValues(FacesContext facesContext) throws FacesException    {        if (log.isTraceEnabled()) log.trace("entering updateModelValues in " + LifecycleImpl.class.getName());        informPhaseListenersBefore(facesContext, PhaseId.UPDATE_MODEL_VALUES);        facesContext.getViewRoot().processUpdates(facesContext);        informPhaseListenersAfter(facesContext, PhaseId.UPDATE_MODEL_VALUES);        if (facesContext.getResponseComplete())        {            if (log.isDebugEnabled()) log.debug("exiting updateModelValues in " + LifecycleImpl.class.getName() + " (response complete)");            return true;        }        if (facesContext.getRenderResponse())        {            if (log.isDebugEnabled()) log.debug("exiting updateModelValues in " + LifecycleImpl.class.getName() + " (--> render response)");            return true;        }        if (log.isTraceEnabled()) log.trace("exiting updateModelValues in " + LifecycleImpl.class.getName());        return false;    }    /**     * Invoke Application (JSF.2.2.5)     * @return true, if response is complete     */    private boolean invokeApplication(FacesContext facesContext)        throws FacesException    {        if (log.isTraceEnabled()) log.trace("entering invokeApplication in " + LifecycleImpl.class.getName());        informPhaseListenersBefore(facesContext, PhaseId.INVOKE_APPLICATION);        facesContext.getViewRoot().processApplication(facesContext);        informPhaseListenersAfter(facesContext, PhaseId.INVOKE_APPLICATION);        if (facesContext.getResponseComplete())        {            if (log.isDebugEnabled()) log.debug("exiting invokeApplication in " + LifecycleImpl.class.getName() + " (response complete)");            return true;        }        if (log.isTraceEnabled()) log.trace("exiting invokeApplication in " + LifecycleImpl.class.getName());        return false;    }    public void render(FacesContext facesContext) throws FacesException    {        if (log.isTraceEnabled()) log.trace("entering renderResponse in " + LifecycleImpl.class.getName());        if (facesContext.getResponseComplete())        {            if (log.isDebugEnabled()) log.debug("exiting renderResponse in " + LifecycleImpl.class.getName() + " (response complete)");            return;        }        informPhaseListenersBefore(facesContext, PhaseId.RENDER_RESPONSE);        Application application = facesContext.getApplication();        ViewHandler viewHandler = application.getViewHandler();        try        {            viewHandler.renderView(facesContext, facesContext.getViewRoot());        }        catch (IOException e)        {            throw new FacesException(e.getMessage(), e);        }        informPhaseListenersAfter(facesContext, PhaseId.RENDER_RESPONSE);        if (log.isTraceEnabled())        {            //Note: DebugUtils Logger must also be in trace level            DebugUtils.traceView("View after rendering");        }        if (log.isTraceEnabled()) log.trace("exiting renderResponse in " + LifecycleImpl.class.getName());    }    private static String deriveViewId(FacesContext facesContext)    {        ExternalContext externalContext = facesContext.getExternalContext();                if (PortletUtil.isPortletRequest(facesContext))        {            PortletRequest request = (PortletRequest)externalContext.getRequest();            return request.getParameter(MyFacesGenericPortlet.VIEW_ID);        }        String viewId = externalContext.getRequestPathInfo();  //getPathInfo        if (viewId == null)        {            //No extra path info found, so it is propably extension mapping            viewId = externalContext.getRequestServletPath();  //getServletPath            DebugUtils.assertError(viewId != null,                                   log, "RequestServletPath is null, cannot determine viewId of current page.");            //TODO: JSF Spec 2.2.1 - what do they mean by "if the default ViewHandler implementation is used..." ?            String defaultSuffix = externalContext.getInitParameter(ViewHandler.DEFAULT_SUFFIX_PARAM_NAME);            String suffix = defaultSuffix != null ? defaultSuffix : ViewHandler.DEFAULT_SUFFIX;            DebugUtils.assertError(suffix.charAt(0) == '.',                                   log, "Default suffix must start with a dot!");            int dot = viewId.lastIndexOf('.');            if (dot == -1)            {                log.error("Assumed extension mapping, but there is no extension in " + viewId);            }            else            {                viewId = viewId.substring(0, dot) + suffix;            }        }        return viewId;    }    private static void recursivelyHandleComponentReferencesAndSetValid(FacesContext facesContext,                                                                        UIComponent root)    {        for (Iterator it = root.getFacetsAndChildren(); it.hasNext(); )        {            UIComponent component = (UIComponent)it.next();            ValueBinding binding = component.getValueBinding("binding");    //TODO: constant            if (binding != null && !binding.isReadOnly(facesContext))            {                binding.setValue(facesContext, component);            }            if (component instanceof UIInput)            {                ((UIInput)component).setValid(true);            }            recursivelyHandleComponentReferencesAndSetValid(facesContext, component);        }    }    public void addPhaseListener(PhaseListener phaseListener)    {        if (_phaseListenerList == null)        {            _phaseListenerList = new ArrayList();            if (_phaseListenerArray != null)            {                _phaseListenerList.addAll(Arrays.asList(_phaseListenerArray));                _phaseListenerArray = null;            }        }        _phaseListenerList.add(phaseListener);    }    public void removePhaseListener(PhaseListener phaseListener)    {        if (_phaseListenerList == null)        {            _phaseListenerList = new ArrayList();            if (_phaseListenerArray != null)            {                _phaseListenerList.addAll(Arrays.asList(_phaseListenerArray));                _phaseListenerArray = null;            }        }        _phaseListenerList.remove(phaseListener);    }    public PhaseListener[] getPhaseListeners()    {        if (_phaseListenerArray == null)        {            if (_phaseListenerList == null)            {                _phaseListenerArray = new PhaseListener[0];            }            else            {                _phaseListenerArray = (PhaseListener[])_phaseListenerList.toArray(new PhaseListener[_phaseListenerList.size()]);                _phaseListenerList = null;            }        }        return _phaseListenerArray;    }    private void informPhaseListenersBefore(FacesContext facesContext, PhaseId phaseId)    {        PhaseListener[] phaseListeners = getPhaseListeners();        for (int i = 0; i < phaseListeners.length; i++)        {            PhaseListener phaseListener = phaseListeners[i];            int listenerPhaseId = phaseListener.getPhaseId().getOrdinal();            if (listenerPhaseId == PhaseId.ANY_PHASE.getOrdinal() ||                listenerPhaseId == phaseId.getOrdinal())            {                phaseListener.beforePhase(new PhaseEvent(facesContext, phaseId, this));            }        }    }    private void informPhaseListenersAfter(FacesContext facesContext, PhaseId phaseId)    {        PhaseListener[] phaseListeners = getPhaseListeners();        for (int i = 0; i < phaseListeners.length; i++)        {            PhaseListener phaseListener = phaseListeners[i];            int listenerPhaseId = phaseListener.getPhaseId().getOrdinal();            if (listenerPhaseId == PhaseId.ANY_PHASE.getOrdinal() ||                listenerPhaseId == phaseId.getOrdinal())            {                phaseListener.afterPhase(new PhaseEvent(facesContext, phaseId, this));            }        }    }}

⌨️ 快捷键说明

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