认识JSF:简单易懂的Jakarta框架

开发Web系统是当前市场中的现实,并且Jakarta Server Faces框架是解决此类问题的标准Jakarta EE选项。JSF的特征之一是以面向屏幕组件及其事件(例如单击)的方式工作。通过这种方式,我们可以将这些组件与系统的不同方面相关联,例如业务操作的执行,值转换,字段验证等。在本文中,我们将讨论此JSF以及如何将此应用程序移至Platform.sh的云。

为了庆祝新的一年,让我们用Jakarta EE技术在Java中创建一个小的愿望清单。在前端,我们将使用Java Server Faces(JSF),这是一个基于Java的Web应用程序框架,它简化了基于Web的用户界面与多个已制造组件的开发和集成。要存储列表,请使用MongoDB。

Jakarta Server Faces定义了一个MVC框架,用于为Web应用程序构建用户界面,包括UI组件,状态管理,事件处理,输入验证,页面导航以及对国际化和可访问性的支持。MVC很容易。

与任何Maven项目一样,第一步是定义应用程序所需的依赖项。在Jakarta EE堆栈上的JSF和MongoDB应用程序上,我们将使用JSF,Jakarta NoSQL和Primefaces。Primefaces是一个基于JSF的应用程序的开源用户界面(UI)组件库。

下一步是MongoDB集成;我们不会走得更远,因为我们有两篇关于Jakarta NoSQL简介的文章,一是关于API的文章,第二是什么Jakarta NoSQL以及有关云原生的介绍

实体和数据库集成都已完成。下一步是控制器。JSF有一个Managed Bean,它是在JSF中注册的常规Java Bean类。换句话说,Managed Bean是由JSF框架管理的Java Bean。托管Bean包含getter和setter方法,业务逻辑,甚至支持Bean(一个Bean包含所有HTML表单值)。

Bean具有@Model 注释以映射此映射以准备在JSF页面上使用,并且具有请求范围。这将使我们能够将此类用作wishBean。JSF在其托管bean中具有多个范围,例如:

我们将设置应用程序文件。我们将设置应用程序文件。

我们将更改services.yaml以添加MongoDB。

我们将设置应用程序文件。

 

  • @RequestScoped:只要HTTP请求响应有效,Bean就会有效。它是根据HTTP请求创建的,并在与HTTP请求关联的HTTP响应完成时销毁。

  • @ViewScoped:只要用户与浏览器窗口/选项卡中的同一JSF视图进行交互,Bean就会存在。它是根据HTTP请求创建的,一旦用户回传到另一个视图,它就会被销毁。

  • @SessionScoped:只要HTTP会话存在,Bean就存在。它在会话中涉及此bean的第一个HTTP请求时创建,并在HTTP会话无效时销毁。
  • @ApplicationScoped:只要Web应用程序存在,Bean就会存在。它是在涉及该应用程序中的该bean的第一个HTTP请求时创建的(或在Web应用程序启动且@ManagedBean中设置了eager = true属性时),并在Web应用程序关闭时被销毁。
  • XHML页面显示了使用JSF / CDI批注映射的Java类将动作与Ajax集成是多么容易。在JSF上,我们本机拥有Ajax,因此我们无需费劲就可以使用update属性在前端(例如,列出元素,   在类中#{wishBean.wishes} 调用方法getWishes的位置)WishBean

    Platform.sh结构

    Java应用程序已准备就绪!下一步是设置管理和部署应用程序所需的Platform.sh文件。在我们的 第一篇Java文章中,我们深入研究了这三个文件的每个细节:

  • 一台路由器(.platform / routes.yaml)。Platform.sh允许您定义 路由

  • 零个或多个服务容器(.platform / services.yaml)。Platform.sh允许您完全定义和配置要在项目上使用的拓扑和 服务

  • 一个或多个应用程序容器(.platform.app.yaml)。您可以 通过一个配置文件控制应用程序以及在Platform.sh 构建和部署应用程序的方式。

将项目移至Github存储库

我们将通过三个简单的步骤创建一个Git存储库和Platform.sh帐户:

 

创建一个GitHub存储库

创建一个Platform.sh项目

集成Platform.sh和GitHub

这种集成使我们能够将代码推送到Github存储库上的master分支,Platform.sh将自动为我们生成应用程序。

在本文中,我们讨论了JSF,以及如何在Jakarta EE上轻松集成Java应用程序。具有CI / CD的软件可以保证质量,是最佳实践,它使Platform.sh非常适合你的下一个云项目。

有什么问题可以加下qq:2062583349。也可添加vx:admindesire,有java、python、web等习资料和视频课程干货”。欢迎交流!

 

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于Spring Boot整合JSF,你可以按照以下步骤进行操作: 1. 添加JSF依赖:在pom.xml文件中,添加JSF的依赖项,如下所示: ```xml <dependency> <groupId>javax.faces</groupId> <artifactId>javax.faces-api</artifactId> <version>2.3</version> </dependency> ``` 2. 配置JSF Servlet:在Spring Boot的配置类中,添加以下配置,以将JSF Servlet映射到`/javax.faces`路径下: ```java import javax.faces.webapp.FacesServlet; import org.springframework.boot.web.servlet.ServletRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class JsfConfig { @Bean public ServletRegistrationBean<FacesServlet> facesServletRegistration() { ServletRegistrationBean<FacesServlet> registration = new ServletRegistrationBean<>(new FacesServlet(), "*.jsf"); registration.setName("FacesServlet"); return registration; } } ``` 3. 配置JSF View Resolver:在Spring Boot的配置类中,添加以下配置,以将JSF视图解析为`.xhtml`文件: ```java import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.ViewResolver; import org.springframework.web.servlet.view.InternalResourceViewResolver; @Configuration public class JsfConfig { @Bean public ViewResolver internalResourceViewResolver() { InternalResourceViewResolver resolver = new InternalResourceViewResolver(); resolver.setViewClass(JsfView.class); resolver.setPrefix("/WEB-INF/views/"); resolver.setSuffix(".xhtml"); return resolver; } } ``` 4. 创建JSF视图:在`/WEB-INF/views/`目录下创建JSF视图文件,例如`hello.xhtml`,并在其中定义JSF组件。 现在,你已经成功地将Spring Boot与JSF整合起来了。你可以在JSF视图中使用JSF的标签和组件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值