zoukankan      html  css  js  c++  java
  • 使用Maven构建RichFaces 4.x项目

    使用Maven构建RichFaces 4.x项目

    开始之前

    本文将简要介绍一下如何在Maven项目中引入RichFaces 4.x。部分内容参考自RichFaces的官方文档。

    以下是具体的开发环境:

    • IntelliJ IDEA 13
    • Maven 3.x
    • JDK 1.8
    • WildFly 8.x
    • RichFaces 4.3.6.Final

    第一步 - 创建Maven项目

    首先要创建一个正常的Maven项目(项目名为 facesDemo ),项目建成后目录结构如下图所示:

    对应的 pom.xml 文件如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
    
      <groupId>com.eagle</groupId>
      <artifactId>facesDemo</artifactId>
      <version>1.0-SNAPSHOT</version>
      <packaging>war</packaging>
    
      <build>
        <!-- 打包后的项目名 -->
        <finalName>facesDemo</finalName>
      </build>
    
    </project>
    

    第二步 - 添加依赖文件

    RichFaces自己包含有4个库文件:

    • richfaces-core-api.jar
    • richfaces-core-impl.jar
    • richfaces-components-api.jar
    • richfaces-components-impl.jar

    此外,RichFaces还依赖于一些第三方文件,这里只列出那些必须的依赖文件:

    • JSF 2.x的具体实现
    • guava.jar
    • cssparser.jar
    • sac.jar

    接下来就要在 pom.xml 文件中引入这些依赖文件。首先引入RichFaces的库文件:

    <properties>
      <!-- RichFaces version -->
      <richfaces.version>4.3.6.Final</richfaces.version>
      <!-- JSF version -->
      <jsf.version>2.2.6</jsf.version>
    </properties>
    
    <dependencies>
      <dependency>
        <groupId>org.richfaces.ui</groupId>
        <artifactId>richfaces-components-ui</artifactId>
        <version>${richfaces.version}</version>
      </dependency>
      <dependency>
        <groupId>org.richfaces.core</groupId>
        <artifactId>richfaces-core-impl</artifactId>
        <version>${richfaces.version}</version>
      </dependency>
    </dependencies>
    

    接下来添加JSF的具体实现。由于项目的服务器使用的是WildFly,它本身已经集成了JSF,所以将下面配置的依赖范围设为 provided (仅用于编译和测试) :

    <dependency>
      <groupId>com.sun.faces</groupId>
      <artifactId>jsf-api</artifactId>
      <version>${jsf.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>com.sun.faces</groupId>
      <artifactId>jsf-impl</artifactId>
      <version>${jsf.version}</version>
      <scope>provided</scope>
    </dependency>
    

    由于Maven的传递性依赖机制,那些没有在 pom.xml 文件中显式引入的依赖文件也会被引入项目中(上述依赖文件的坐标都来自Maven Central Repository)。最后文件之间的依赖关系如下图所示:

    第三步 - 配置RichFaces

    web.xml 文件中配置RichFaces。

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
             version="3.1">
      <welcome-file-list>
        <welcome-file>index.xhtml</welcome-file>
      </welcome-file-list>
    
      <context-param>
        <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
        <param-value>.xhtml</param-value>
      </context-param>
      <context-param>
        <param-name>javax.faces.PROJECT_STAGE</param-name>
        <param-value>Development</param-value>
      </context-param>
    
      <servlet>
        <servlet-name>facesServlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
      </servlet>
      <servlet-mapping>
        <servlet-name>facesServlet</servlet-name>
        <url-pattern>*.xhtml</url-pattern>
      </servlet-mapping>
    </web-app>
    

    WEB-INF 文件夹下新建 faces-config.xml 文件。

    <?xml version='1.0' encoding='UTF-8'?>
    <faces-config version="2.2" xmlns="http://xmlns.jcp.org/xml/ns/javaee"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 
                                      http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd">
    
    </faces-config>
    

    第四步 - 创建显示页面

    webapp 目录下新建 index.xhtml 文件,内容如下:

    <ui:composition xmlns="http://www.w3.org/1999/xhtml"
                    xmlns:h="http://java.sun.com/jsf/html"
                    xmlns:f="http://java.sun.com/jsf/core"
                    xmlns:ui="http://java.sun.com/jsf/facelets"
                    xmlns:a4j="http://richfaces.org/a4j"
                    xmlns:rich="http://richfaces.org/rich">
      <f:view>
        <h:head></h:head>
        <h:body>
          <rich:panel header="Richfaces Demo">
            <h:outputLabel value="Hello Richfaces"/>
          </rich:panel>
        </h:body>
      </f:view>
    </ui:composition>
    

    大功告成,将项目打包部署之后就可以看到页面效果了。

  • 相关阅读:
    第3章 HBase完全分布式集群搭建
    第2章 大数据处理架构Hadoop(二)
    第2章 大数据处理架构Hadoop (一)
    SQL 优化
    EXCEL快捷键 输入第一格的公式,计算这列剩下的单元格
    IDEA快捷键,IDEA2021激活码
    IDEA激活码高质量的,IDEA2021一次破解激活永久版
    shardingsphere 分库分表解决方案
    网络编程(笔记四)
    网络编程(笔记三)
  • 原文地址:https://www.cnblogs.com/sungoshawk/p/3588579.html
Copyright © 2011-2022 走看看