刚学习jsf,公司一个jsf工程里的face-config.xml看不懂,请大家指点一下!
<?xml version="1.0"?>
<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN" "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
<faces-config>
<application>
<view-handler>com.xxx.framework.jsf.viewhandler.XxxJspDynamicViewerHandler</view-handler>
<state-manager>com.xxx.framework.jsf.XxxAjaxStateManager</state-manager>
</application>
</faces-config>
package com.Xxx.framework.jsf.viewhandler;
import javax.faces.context.FacesContext;
import org.apache.myfaces.application.jsp.JspViewHandlerImpl;
import com.xxx.framework.constant.FwkConstant;
import com.xxx.framework.logging.AppLogFactory;
import com.xxx.framework.logging.ILog;
public class XxxJspDynamicViewerHandler extends JspViewHandlerImpl {
// For logging:
private final ILog log = AppLogFactory.getLog(XxxJspDynamicViewerHandler.class, FwkConstant.MODULE_SECURITY);
public String getActionURL(FacesContext facesContext, String viewId) {
String path = "";
int nIndexOfFollowingParamSign = -1;
if ( XxxJspDynamicViewerHandler.containsXxxJspViewHandlerImpIndicator(viewId) ) {
nIndexOfFollowingParamSign = viewId.indexOf("?");
if ( -1 != nIndexOfFollowingParamSign) {
path = super.getActionURL(facesContext, viewId) + viewId.substring(nIndexOfFollowingParamSign);
} // end if
} // end if
if ( path != null && path.length() == 0 ) {
path = super.getActionURL(facesContext, viewId);
}
return path;
}
public static boolean containsXxxJspViewHandlerImpIndicator(String paramStr) {
return ((null != paramStr) && (paramStr.indexOf(FwkConstant.Xxx_VIEWHANDLER_INDICATOR) != -1)) ? true : false;
}
}
package com.Xxx.framework.jsf;
import javax.faces.application.StateManager;
import javax.faces.context.ExternalContext;
import org.ajax4jsf.application.AjaxStateManager;
public class XxxAjaxStateManager extends AjaxStateManager{
private static final String VIEW_PARAM_KEY = "com.wtt.framework.NUMBER_OF_STATES_IN_VIEW";
private int numberOfViews = -1;
public XxxAjaxStateManager(StateManager stateManager) {
super(stateManager);
}
@Override
protected int getNumberOfViews(ExternalContext externalContext) {
if (this.numberOfViews == -1) {
if (externalContext.getInitParameter(VIEW_PARAM_KEY) != null) {
try {
this.numberOfViews = Integer.valueOf(externalContext.getInitParameter(VIEW_PARAM_KEY));
} catch (NumberFormatException nfe) {
this.numberOfViews = super.getNumberOfViews(externalContext);
}
}
}
return this.numberOfViews;
}
}
分享到:
相关推荐
"#{userBean.login}"></h:commandButton> </h:form> 在 JSF(JavaServer Faces)开发中,我们通常会遇到一些核心概念和技术,包括JSF的基本架构、face-config.xml配置文件的作用以及如何利用JavaBeans(如UserLogin...
包括web.xml,face-config.xml,appcontext.xml 博文链接:https://ralf-realman.iteye.com/blog/30945
JavaScript Server Faces (JSF) 是一个用于构建用户界面的Java框架,主要应用于Web应用程序。它提供了组件模型和事件处理机制,使得开发人员可以更轻松地创建动态、数据驱动的网页。在本文中,我们将深入探讨如何...
JSF的配置文件是`face-config.xml`,而Struts使用`struts-config.xml`。JSF的Action可以直接绑定到Managed-bean中,无需单独的Action类,而在Struts中,每个Action都需要一个对应的Action类并在配置文件中声明。 **...
此外,`face-config.xml`文件通常用于配置JSF(JavaServer Faces)组件的行为,虽然在这个特定的讨论中没有直接涉及,但它也是Web应用配置的重要组成部分。 总之,配置Web Controls是建立ArcGIS Server 9.2 Web应用...
解决这个问题的一种方法是在`face-config.xml`文件中添加特定的配置扩展。通过指定`.xhtml`文件扩展名及其处理方式,我们可以告诉JSF以XHTML的方式进行处理,而不是默认的HTML5模式。具体的配置代码如下: ```xml ...
- 示例中给出的`face-config.xml`配置示例展示了如何定义导航规则,例如从一个视图跳转到另一个视图。 通过以上介绍,我们可以看出JSF是一种非常强大且灵活的Web应用框架,它与Seam和EJB结合使用时,可以构建出功能...
- `faces-config.xml`:JSF的配置文件,定义组件、导航规则、监听器等。 - `.xhtml`文件:使用Facelets技术编写的视图文件,这些文件包含JSF组件和EL表达式。 - `ManagedBean`类:Java类,通常位于`src/main/java`...
在JSF中,重定向是常见的页面导航技术,它将用户从一个页面引导到另一个页面,通常在处理完某个请求或事件后执行。重定向不仅更新浏览器的URL,还创建一个新的HTTP请求,这与简单的转发不同,转发只在服务器内部完成...
5. **JSF(Facelets)资源配置(face-config.xml)**:在JavaServer Faces应用中,face-config.xml用于定义视图、导航规则、组件库、事件处理和转换器等。它增强了用户界面的交互性和可定制性。 6. **JMS(Message ...
这通常包括`.xhtml`页面(视图层)、`.java`后端bean(模型层)和配置文件(如`faces-config.xml`和`web.xml`)。 **工具** 可能是指辅助JSF开发的工具,比如IDE插件(如Eclipse或IntelliJ IDEA的JSF插件),它们...
JavaServer Faces(JSF)是Java平台上用于构建Web应用程序的官方标准框架,它提供了一种组件化、事件驱动的方式来创建用户界面。...对于希望精通JSF的Java开发者来说,这是一个不可或缺的学习资源。
- **配置管理**:讲解如何在JSF中通过配置文件(如`faces-config.xml`)来管理Bean的依赖关系和生命周期。 - **最佳实践**:分享关于Bean配置的最佳实践,以提高开发效率和代码质量。 **Beans上的List, Map** - **...