`

JSF Converter-定义通用的 状态 转换器

阅读更多

 

创建StatusConverter类:

 

/**
 * Date: 14-6-29
 * @author: Zero
 */
@FacesConverter(value = "StatusConverter", forClass = String.class)
public class StatusConverter  implements javax.faces.convert.Converter{

    //其他方法....
    @Override
    public String getAsString(FacesContext context, UIComponent component, Object value) {
        if (context == null || component == null) {
            throw new NullPointerException();
        }

        // 如果value为空则返回空字符串
        if (value == null) {
            return "";
        }
        //在xhtml中属性名以"status-"作为前缀
        for (Map.Entry<String, Object> entry : component.getAttributes().entrySet()) {
            String status = entry.getKey().toString().replace("status-", "");
            if (status.equals(value.toString())) {
                return entry.getValue().toString();
            }
        }
        return value.toString();
    }
}

 

使用:

  <h:outputText value="#{channel.status}">
       <f:converter converterId="StatusConverter"/>
       <f:attribute name="status-1" value="开"/>
       <f:attribute name="status-0" value="关"/>
  </h:outputText>

 

注意:component.getAttributes() 是从UIComponent中获取的,所以设置属性时是放在<h:outputText> </h:outputText>里面,而不是<f:converter> 里面

 

 

分享到:
评论

相关推荐

    jsf-api-2.0.3.jar.zip_jsf api_jsf jar包_jsf-api-2.0.3.jar_jsf-api

    `jsf-api-2.0.3.jar` 包含的API接口定义了JSF的各种核心接口,例如`FacesContext`、`UIComponent`、`ManagedBean`等,这些都是构建JSF应用程序的基础。开发者可以引用这些接口来创建自定义组件,实现事件监听器,...

    javaee.jar,jsf-api.jar,jsf-impl.jar,jstl-1.2.jar

    3. **jsf-impl.jar**:与jsf-api.jar相对应,这个文件包含了JSF的实现代码。在实际开发中,开发者通常只需要引用api.jar进行编程,而impl.jar则在运行时提供具体的实现细节,执行用户界面的渲染和事件处理等功能。 ...

    JavaEE源代码 jsf-api

    JavaEE源代码 jsf-apiJavaEE源代码 jsf-apiJavaEE源代码 jsf-apiJavaEE源代码 jsf-apiJavaEE源代码 jsf-apiJavaEE源代码 jsf-apiJavaEE源代码 jsf-apiJavaEE源代码 jsf-apiJavaEE源代码 jsf-apiJavaEE源代码 jsf-...

    JavaEE源代码 jsf-impl

    JavaEE源代码 jsf-implJavaEE源代码 jsf-implJavaEE源代码 jsf-implJavaEE源代码 jsf-implJavaEE源代码 jsf-implJavaEE源代码 jsf-implJavaEE源代码 jsf-implJavaEE源代码 jsf-implJavaEE源代码 jsf-implJavaEE源...

    JSF-AV-rules.rar_JSF AV rule_JSF-AV_JSF-AV-rules_航空C++编程规范

    《JSF-AV-rules.rar》是一个压缩包文件,包含了航空C++编程规范,这个规范主要针对的是在航空系统开发中使用C++编程时应当遵循的一系列规则和标准。航空系统的软件开发对于安全性、可靠性和可维护性有着极高的要求,...

    JSF2.0-hello-world-example-2.1.7.zip

    - **faces-config.xml**:JSF的配置文件,可以定义导航规则、组件和转换/验证规则等。 - **index.xhtml**:Facelets页面,通常包含“Hello World”消息的展示。可能有一个简单的表单,用户可以提交,然后在服务器端...

    jsf-impl.jar jsf-api.jar

    `jsf-api.jar` 文件是JSF框架的API(Application Programming Interface)部分,它定义了开发者在编写JSF应用程序时所需要使用的接口和类。这些接口和类包括但不限于UIComponent、UIViewRoot、ManagedBean、Facelet...

    jsf相关jar包 jsf-api.jar jsf-impl.jar

    这些接口定义了JSF的组件、事件、转换器、验证器等核心功能。通过这个API,开发者可以创建自定义的JSF组件,处理用户事件,以及实现数据的转换和验证。此外,它还包含JSF生命周期和渲染树的概念,使得开发者能理解...

    jsf-api,jsf-impl,jst1-1.2,javaee

    而"jsf-impl" JAR文件则提供了这些API的具体实现,包括渲染器、生命周期管理器等,使得开发者可以直接使用JSF的功能。 "jstl-1.2"指的是JSTL(JavaServer Pages Standard Tag Library),这是一个用于JSP页面的标准...

    jsf-api.jar

    7. **Converter和Validator**: Converter用于在组件和模型之间转换数据类型,而Validator则用于在提交数据前验证其有效性,两者都是确保数据质量的重要机制。 8. **Navigation**: JSF提供了导航规则,允许根据用户...

    一个简单的jsf例子------JSF2学习笔记1

    - `jsf-impl.jar` 和 `jsf-api.jar` 包含了JSF2的核心实现和API,供应用程序使用。 - `commons-collections-3.1.jar` 提供了集合操作的扩展,常常用于辅助处理数据。 - `commons-beanutils-1.8.0.jar` 提供了对...

    jboss-ajax4jsf-1.1.1-src

    【标题】"jboss-ajax4jsf-1.1.1-src" 是一个开源项目,主要涉及Ajax4jsf框架的源代码版本,版本号为1.1.1。Ajax4jsf是针对JavaServer Faces (JSF) 技术的一个扩展,它允许开发者在JSF应用中无缝集成Ajax功能,提升...

    jsf --lib

    通过定义监听器方法,开发者可以在特定的事件发生时执行相应的业务逻辑。 **视图和生命周期**:JSF采用MVC(Model-View-Controller)架构,其中视图是由JSF组件组成的,模型是JavaBean,控制器由JSF框架自动处理。...

    jsf-api.jar和jsf-impl.jar

    **jsf-api.jar** 文件包含JSF框架的接口和抽象类,这些定义了JSF应用开发所需的主要API。开发者通常需要这个库来编译他们的JSF项目,因为编译时需要知道JSF提供的公共接口和抽象类。它不包含具体的实现,而是提供了...

    jsf-api-1.2

    综上所述,"jsf-api-1.2"提供了丰富的API和功能,使开发者能够高效地构建和维护企业级的Java Web应用程序。通过对组件、事件、Managed Beans、视图状态、转换验证、导航、国际化以及错误处理的理解和熟练运用,...

    jsf-api-2.0.jar

    这是jsf-api-2.0.jar,为了使用方便传上来.只是个jar包.

    JSF实战3 书本代码corejsf3-examples.zip

    JSF实战3 书本代码corejsf3-examples.zip 很辛苦找到的,努力!

    JSF资源---精心收集,奉献给大家

    2. **JSF架构**:JSF的工作原理,包括视图、控制器和模型之间的关系。视图层负责显示用户界面,控制器处理用户的交互,而模型则包含业务逻辑。 3. **EL(Expression Language)与JSP**:JSF常与EL一起使用,EL是一...

    JSF-Java-jar包

    `jsf-api.jar`包含了JSF框架的核心API,开发者可以使用这些API来创建JSF组件、定义事件处理、管理bean属性等。这个库提供了JSF的核心接口和抽象类,包括但不限于: - `javax.faces.application.Application`:负责...

    J2EE-jsf1.2-Spring-Hibernate整合

    J2EE-jsf1.2-Spring-Hibernate整合基本资源包,我是用了很长的时间整合成功并在实际中使用,相当完美.用eclipse-jee-europa-3.3.2-winter-en-win32构建成功.

Global site tag (gtag.js) - Google Analytics