Primefaces Get Started

The Most Complete User Interface Suite for JavaServer Faces

官网地址

我们将通过一个简单的 Demo 来阐述 Primefaces 的功能,在此之前,我们假设您已经:

  • 拥有 Java 开发环境以及相应 IDE
  • 熟悉 SpringBoot
  • 熟悉 Maven
  • 了解 JSF

什么是JSF

JavaServer Faces(JSF)是Java规范这将促进Web应用程序基于组件的用户界面开发。通过XML称为视图模板的文件,通常依赖服务器端会话来存储UI组件的状态。

什么是PrimeFaces

PrimeFaces是用于JavaServer Faces的富UI组件的集合。所有小部件都是开源的,可以在Apache许可下免费使用。PrimeFaces是由PrimeTek Informtics开发的,它是一家拥有多年开发开源UI解决方案专业知识的供应商。

快速入门

PrimeFaces是一个具有一个JAR、零配置和不需要依赖项的轻量级库。只需下载PrimeFaces,将PrimeFaces-{version}.jar添加到类路径中,并导入名称空间即可开始。

Maven

通过maven下载Primefaces

1
2
3
4
5
<dependency>
<groupId>org.primefaces</groupId>
<artifactId>primefaces</artifactId>
<version>6.2</version>
</dependency>

通过maven下载JSF

1
2
3
4
5
6
7
8
9
10
11
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-api</artifactId>
<version>2.2.16</version>
</dependency>

<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-impl</artifactId>
<version>2.2.16</version>
</dependency>

命名空间

要将PrimeFaces组件添加到页面中,必须使用PrimeFaces命名空间

1
xmlns:p="http://primefaces.org/ui"

简单例子

位置: src/main/webapp/basic.xhtml
basic.xhtml

1
2
3
4
5
6
7
8
9
10
11
12
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui">

<h:head>
</h:head>

<h:body>
<p:spinner />
</h:body>
</html>

JSF配置类

JSFConfig.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package com.ray.primefaces01;

import com.sun.faces.config.ConfigureListener;
import org.springframework.boot.web.servlet.ServletListenerRegistrationBean;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.context.ServletContextAware;

import javax.faces.webapp.FacesServlet;
import javax.servlet.ServletContext;

/**
* @author Ray
* @date 2018/9/6 0006
* JSF 配置类
*/
@Configuration
public class JSFConfig implements ServletContextAware {

/**
* JSF的核心控制器
*/
@Bean
public ServletRegistrationBean servletRegistrationBean(){
ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(
new FacesServlet(), "*.jsf"
);
servletRegistrationBean.setLoadOnStartup(1);
return servletRegistrationBean;
}

@Bean
public ServletListenerRegistrationBean<ConfigureListener> jsfConfigureListener(){
return new ServletListenerRegistrationBean<>(
new ConfigureListener()
);
}

@Override
public void setServletContext(ServletContext servletContext) {
servletContext.setInitParameter("com.sun.faces.forceLoadConfiguration", Boolean.TRUE.toString());
}
}

运行效果

启动Tomcat运行项目,请注意查看启动信息,如果有异常应该先解决异常信息,运行成功后的结果如下所示:
访问地址:http://localhost:8080/basic.jsf