这篇拾遗主要记录了如何使用gradle建立一个使用primefaces的web应用程序。前提知识:
- JSF的基本知识
- Gradle的基本知识
- java的web工程的基本知识
为了避免使用业务代码作为例子,新建立了一个primefaces的示例工程,放在gitee上。克隆地址如下。
https://gitee.com/kutilion/PrimefacesGit.git
初始化Java工程
使用Gradle初始化一个java工程,前提是本地环境中已经安装了Gradle。具体的安装步骤可以参照之前的Gradle学习笔记。笔者使用的是Gradle5.1版本。
在适当的位置建立一个文件夹,示例为PrimefacesGit。进入文件夹后使用gitbash执行如下Gradle命令
$ gradle init --type java-application
Starting a Gradle Daemon (subsequent builds will be faster)
> Task :wrapper
> Task :init
BUILD SUCCESSFUL in 10s
2 actionable tasks: 2 executed
这时刚刚建立的文件夹中已经有了基本的java应用程序的构造,并且生成了build.gradle文件。这只是一个普通的java应用程序,我们要把它转换为Web应用程序。所以需要改造一下build.gradle文件。
转变为可以使用Primefaces的Web应用程序
首先是改造build.gradle文件。文件代码如下:
plugins { // 引入java插件 id 'java' // 引入war插件,用于打包部署 id 'war' // 引入eclipse插件用于导入eclipse id 'eclipse'}group = 'com.study'version = '0.0.1-SNAPSHOT'sourceCompatibility = '1.8'repositories { // 从maven仓库中找到所需要的包 mavenCentral()}dependencies { // 用于支持JSF,Primefaces是JSF的扩展 implementation 'javax.faces:javax.faces-api:2.2' // 用于支持各种jstl标签 implementation 'javax.servlet:jstl:1.2' // Primefaces前端框架包 implementation 'org.primefaces:primefaces:6.2' // Web应用程序必备的包 implementation 'javax.servlet:javax.servlet-api:3.1.0' // 用于支持单体测试 testImplementation 'junit:junit:4.12' }
其次需要在src/main/下建立webapp文件夹。webapp下需要META-INF和WEB-INF文件夹。WEB-INF文件夹下需要有lib文件夹,用于存放部署时所用的各种jar包。在这里我们需要手动将需要的包拷贝进去。本例只是简单的实现画面显示和简单操作,需要拷贝的包如下:
- javax.faces-2.2.0.jar
- jstl-1.2.jar
- primefaces-6.2.jar
这些处理Gradle的eclipse插件都可以实现。因为比较麻烦,还不如手动操作更快,这里就省略了。以下是META-INF文件和重要的配置文件web.xml文件的内容。
srcmainwebappMETA-INF
Manifest-Version: 1.0Class-Path:
srcmainwebappWEB-INFweb.xml
<?xml version="1.0" encoding="UTF-8"?>PrimefacesGit
导入eclipse
为了导入eclipse开发环境,需要执行如下的gradle命令。这样会生成eclipse用的.project等配置文件。详细可以参照Gradle学习记录的eclipse插件相关部分。
$ gradle eclipse
> Task :eclipseClasspath
> Task :eclipseJdt
> Task :eclipseProject
> Task :eclipseWtpComponent
> Task :eclipseWtpFacet
> Task :eclipseWtp
> Task :eclipse
BUILD SUCCESSFUL in 4s
5 actionable tasks: 5 executed
使用eclipse自带的导入既存工程就可以将刚才生成的工程导进eclipse。下面可以进行开发。具体的页面测试用代码如下:
- PrimefacesGit.Car.java
- PrimefacesGit.CarService.java
- PrimefacesGit.SelectionView.java
- webappcar.xhtml
具体的代码参照Gitee的工程。本地如果有weblogic之类的server,可以将工程部署上去,然后使用如下的地址访问页面。XXXX为端口号。
http://localhost:XXXX/PrimefacesGit/car.xhtml
页面显示后结果如下。下一张简单学习一下示例的页面代码。
![91d4c596d6d522508688c648ddc242a1.png](https://i-blog.csdnimg.cn/blog_migrate/f640dc0788cd6507387016e5f9ebf2f1.jpeg)